`ld' and MMIX
=============
For MMIX, there is choice of generating `ELF' object files or `mmo'
object files when linking. The simulator `mmix' understands the `mmo'
format. The binutils `objcopy' utility can translate between the two
formats.
There is one special section, the `.MMIX.reg_contents' 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
`.MMIX.reg_contents' section corresponds to the first allocated global
register multiplied by 8. Register `$255' is not included in this
section; it is always set to the program entry, which is at the symbol
`Main' for `mmo' files.
Symbols with the prefix `__.MMIX.start.', for example
`__.MMIX.start..text' and `__.MMIX.start..data' are special; there must
be only one each, even if they are local. The default linker script
uses these to set the default start address of a section.
Initial and trailing multiples of zero-valued 32-bit words in a
section, are left out from an mmo file.