aboutsummaryrefslogtreecommitdiff
path: root/ld/emultempl
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2014-08-14 13:49:31 +0930
committerAlan Modra <amodra@gmail.com>2014-08-14 13:49:31 +0930
commit18cd5bce47dc4a33dd1d8e3036b99d2fa7e3234f (patch)
treea45e5b4efa46052d1f8bf538e0695e2b264795a5 /ld/emultempl
parentb879806f2fdd2eca7092d7b854d6cbbbbbd0493b (diff)
downloadgdb-18cd5bce47dc4a33dd1d8e3036b99d2fa7e3234f.zip
gdb-18cd5bce47dc4a33dd1d8e3036b99d2fa7e3234f.tar.gz
gdb-18cd5bce47dc4a33dd1d8e3036b99d2fa7e3234f.tar.bz2
Linker part of PR16563 fix
Presents .eh_frame input sections to the optimisation machinery in elf-eh-frame.c in the order they are given by the linker script. PR 16563 bfd/ * elflink.c (bfd_elf_discard_info): Process .eh_frame and .stab in the order they are mapped to output sections. ld/ * ldlang.c (map_head_is_link_order): Rename from stripped_excluded_sections. (lang_clear_os_map): New function, extracted from.. (strip_excluded_output_sections): ..here. * ldlang.h (lang_clear_os_map): Declare. * ldwrite.c (ldwrite): Call lang_clear_os_map. * emultempl/sh64elf.em (sh64_elf_${EMULATION_NAME}_after_allocation): Likewise.
Diffstat (limited to 'ld/emultempl')
-rw-r--r--ld/emultempl/sh64elf.em3
1 files changed, 3 insertions, 0 deletions
diff --git a/ld/emultempl/sh64elf.em b/ld/emultempl/sh64elf.em
index 3c82164..c49fbe8 100644
--- a/ld/emultempl/sh64elf.em
+++ b/ld/emultempl/sh64elf.em
@@ -248,6 +248,9 @@ sh64_elf_${EMULATION_NAME}_after_allocation (void)
gld${EMULATION_NAME}_after_allocation ();
+ /* Needed, since we create link_orders here. */
+ lang_clear_os_map ();
+
cranges = bfd_get_section_by_name (link_info.output_bfd,
SH64_CRANGES_SECTION_NAME);