X-Git-Url: http://drtracing.org/?a=blobdiff_plain;ds=sidebyside;f=ld%2Femultempl%2Fmmix-elfnmmo.em;h=55a8e27e777e1abed93eefba223681ede8d28144;hb=837a17b36c9e297f4bf33727e25dfa9f38360c17;hp=909c3c46dd2d7f53c98b61044a05a39f5edab47a;hpb=f13a99db51c0ca487f4a0a41b14dc255d386c4ff;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/emultempl/mmix-elfnmmo.em b/ld/emultempl/mmix-elfnmmo.em index 909c3c46dd..55a8e27e77 100644 --- a/ld/emultempl/mmix-elfnmmo.em +++ b/ld/emultempl/mmix-elfnmmo.em @@ -1,6 +1,5 @@ # This shell script emits a C file. -*- C -*- -# Copyright 2001, 2002, 2003, 2004, 2007, 2008 -# Free Software Foundation, Inc. +# Copyright (C) 2001-2015 Free Software Foundation, Inc. # # This file is part of the GNU Binutils. # @@ -42,7 +41,7 @@ mmix_before_allocation (void) /* Force -relax on (regardless of whether we're doing a relocatable link). */ - command_line.relax = TRUE; + ENABLE_RELAXATION; if (!_bfd_mmix_before_linker_allocation (link_info.output_bfd, &link_info)) einfo ("%X%P: Internal problems setting up section %s", @@ -56,11 +55,11 @@ mmix_before_allocation (void) static void mmix_after_allocation (void) { - asection *sec - = bfd_get_section_by_name (link_info.output_bfd, - MMIX_REG_CONTENTS_SECTION_NAME); + asection *sec; bfd_signed_vma regvma; + gld${EMULATION_NAME}_after_allocation (); + /* If there's no register section, we don't need to do anything. On the other hand, if there's a non-standard linker-script without a mapping from MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME when that section is @@ -72,6 +71,8 @@ mmix_after_allocation (void) 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. */ + sec = bfd_get_section_by_name (link_info.output_bfd, + MMIX_REG_CONTENTS_SECTION_NAME); if (sec == NULL) sec = bfd_get_section_by_name (link_info.output_bfd, @@ -100,7 +101,7 @@ mmix_after_allocation (void) This section is only present when there are register symbols. */ sec = bfd_get_section_by_name (link_info.output_bfd, MMIX_REG_SECTION_NAME); if (sec != NULL) - bfd_set_section_vma (abfd, sec, 0); + bfd_set_section_vma (sec->owner, sec, 0); if (!_bfd_mmix_after_linker_allocation (link_info.output_bfd, &link_info)) {