<html lang="en"> <head> <title>MMIX - Untitled</title> <meta http-equiv="Content-Type" content="text/html"> <meta name="description" content="Untitled"> <meta name="generator" content="makeinfo 4.7"> <link title="Top" rel="start" href="index.html#Top"> <link rel="up" href="Machine-Dependent.html#Machine-Dependent" title="Machine Dependent"> <link rel="prev" href="M68K.html#M68K" title="M68K"> <link rel="next" href="MSP430.html#MSP430" title="MSP430"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- This file documents the GNU linker LD (GNU Binutils) version 2.19. Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''.--> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family: serif; font-weight: normal; } --></style> </head> <body> <div class="node"> <p> <a name="MMIX"></a>Next: <a rel="next" accesskey="n" href="MSP430.html#MSP430">MSP430</a>, Previous: <a rel="previous" accesskey="p" href="M68K.html#M68K">M68K</a>, Up: <a rel="up" accesskey="u" href="Machine-Dependent.html#Machine-Dependent">Machine Dependent</a> <hr><br> </div> <h3 class="section">4.7 <code>ld</code> and MMIX</h3> <p>For MMIX, there is a choice of generating <code>ELF</code> object files or <code>mmo</code> object files when linking. The simulator <code>mmix</code> understands the <code>mmo</code> format. The binutils <code>objcopy</code> utility can translate between the two formats. <p>There is one special section, the <span class="samp">.MMIX.reg_contents</span> section. Contents in this section is assumed to correspond to that of global registers, and symbols referring to it are translated to special symbols, equal to registers. In a final link, the start address of the <span class="samp">.MMIX.reg_contents</span> section corresponds to the first allocated global register multiplied by 8. Register <code>$255</code> is not included in this section; it is always set to the program entry, which is at the symbol <code>Main</code> for <code>mmo</code> files. <p>Global symbols with the prefix <code>__.MMIX.start.</code>, for example <code>__.MMIX.start..text</code> and <code>__.MMIX.start..data</code> are special. The default linker script uses these to set the default start address of a section. <p>Initial and trailing multiples of zero-valued 32-bit words in a section, are left out from an mmo file. </body></html>