Stop the IA64 linker from removing unwind tables when garbage collecting.
authorNick Clifton <nickc@redhat.com>
Thu, 5 Apr 2018 13:44:05 +0000 (14:44 +0100)
committerNick Clifton <nickc@redhat.com>
Thu, 5 Apr 2018 13:44:05 +0000 (14:44 +0100)
PR 23030
* emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Make sure
that the .IA_64.unwind_info and .IA_64.unwind sections are not
subject to garbage collection.

ld/ChangeLog
ld/emulparams/elf64_ia64.sh

index c6f85fffe65e64aed9a1040b887ffbbda4ee057f..5ac7f53254dcabcab1515e86007de5c659e6bdf3 100644 (file)
@@ -1,3 +1,10 @@
+2018-04-05  Nick Clifton  <nickc@redhat.com>
+
+       PR 23030
+       * emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Make sure
+       that the .IA_64.unwind_info and .IA_64.unwind sections are not
+       subject to garbage collection.
+
 2018-04-04  Eric Botcazou  <ebotcazou@adacore.com>
 
        * deffile.h (def_file_add_import_from): Declare.
index 7e5e54d391ed8ce0fc03a07e50eff2f683a42257..02970a6f038d3bdf90a54883d800350dd00a900b 100644 (file)
@@ -31,8 +31,8 @@ test -n "$CREATE_PIE" && OTHER_READWRITE_SECTIONS="
 test -n "$CREATE_PIE" && OTHER_GOT_RELOC_SECTIONS="
   .rela.opd     ${RELOCATING-0} : { *(.rela.opd) }"
 OTHER_READONLY_SECTIONS="${OTHER_READONLY_SECTIONS}
-  .IA_64.unwind_info ${RELOCATING-0} : { *(.IA_64.unwind_info${RELOCATING+* .gnu.linkonce.ia64unwi.*}) }
-  .IA_64.unwind ${RELOCATING-0} : { *(.IA_64.unwind${RELOCATING+* .gnu.linkonce.ia64unw.*}) }"
+  .IA_64.unwind_info ${RELOCATING-0} : { KEEP(*(.IA_64.unwind_info${RELOCATING+* .gnu.linkonce.ia64unwi.*})) }
+  .IA_64.unwind ${RELOCATING-0} : { KEEP(*(.IA_64.unwind${RELOCATING+* .gnu.linkonce.ia64unw.*})) }"
 # Intel C++ compiler, prior to 9.0, puts small data in .ctors and
 # .dtors.  They have to be next to .sbss/.sbss2/.sdata/.sdata2.
 SMALL_DATA_CTOR=" "