2002-02-15 Hans-Peter Nilsson <hp@bitrange.com>
+ * emultempl/mmix-elfnmmo.em (mmix_after_allocation): Also check
+ for presence of .MMIX.reg_contents.linker_allocated before early
+ exit.
+
* NEWS: Mention support for MMIX.
2002-02-15 Alan Modra <amodra@bigpond.net.au>
= bfd_get_section_by_name (output_bfd, MMIX_REG_CONTENTS_SECTION_NAME);
bfd_signed_vma regvma;
- /* If there's no register section, we don't need to do anything. */
+ /* If there's no register section, we don't need to do anything. On the
+ other hand, if a non-standard linker-script without a mapping from
+ MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME is present, as in the ld
+ test "NOCROSSREFS 2", that section (1) will be orphaned; not inserted
+ in MMIX_REG_CONTENTS_SECTION_NAME and (2) we will not do the
+ necessary preparations for those relocations that caused it to be
+ created. We'll SEGV from the latter error. The former error in
+ separation will result in a non-working binary, but that's expected
+ when you play tricks with linker scripts. The "NOCROSSREFS 2" test
+ does not run the output so it does not matter there. */
+ if (sec == NULL)
+ sec
+ = bfd_get_section_by_name (output_bfd,
+ MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME);
if (sec == NULL)
return;