From: Nick Clifton Date: Fri, 6 Apr 2018 14:04:50 +0000 (+0100) Subject: Import patch from mainline sources to stop the linker from removing IA64 unwind secti... X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=925b7b485ebdf1e866783c5b5149c2c576866fad;p=thirdparty%2Fbinutils-gdb.git Import patch from mainline sources to stop the linker from removing IA64 unwind sections when garbage collecting. 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. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index 430f58e61d4..5a3167d7d2a 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,13 @@ +2018-04-06 Nick Clifton + + Import from mainline: + 2018-04-05 Nick Clifton + + 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-03-28 Eric Botcazou PR ld/22972 diff --git a/ld/emulparams/elf64_ia64.sh b/ld/emulparams/elf64_ia64.sh index 7e5e54d391e..02970a6f038 100644 --- a/ld/emulparams/elf64_ia64.sh +++ b/ld/emulparams/elf64_ia64.sh @@ -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=" "