blob: ece9d911a19839237cc98d14b1bc9f83a1e281b2 [file] [log] [blame]
<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.13">
<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
(Sourcery G++ Lite 2011.03-41)
version 2.20.51.
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 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.3
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; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="MMIX"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="MSP430.html#MSP430">MSP430</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="M68K.html#M68K">M68K</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Machine-Dependent.html#Machine-Dependent">Machine Dependent</a>
<hr>
</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 &lsquo;<samp><span class="samp">.MMIX.reg_contents</span></samp>&rsquo; 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
&lsquo;<samp><span class="samp">.MMIX.reg_contents</span></samp>&rsquo; 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>