PE linker script improvements.

PR ld/19254
	* scripttempl/pe.sc (.fini): KEEP this section.
	(.gcc_except_table): Likewise.
	(.pdata): Also accept .pdata*.
This commit is contained in:
Nick Clifton 2016-12-13 17:05:20 +00:00
parent 963201cf5d
commit aa785360cf
2 changed files with 10 additions and 3 deletions

View file

@ -30,6 +30,13 @@
* testsuite/ld-aarch64/limit-b.d: Likewise. * testsuite/ld-aarch64/limit-b.d: Likewise.
* testsuite/ld-aarch64/limit-bl.d: Likewise. * testsuite/ld-aarch64/limit-bl.d: Likewise.
2016-12-13 Awson <kyrab@mail.ru>
PR ld/19254
* scripttempl/pe.sc (.fini): KEEP this section.
(.gcc_except_table): Likewise.
(.pdata): Also accept .pdata*.
2016-12-13 Alan Modra <amodra@gmail.com> 2016-12-13 Alan Modra <amodra@gmail.com>
* testsuite/ld-elf/nobits-1.d: Remove xfail for hppa64. * testsuite/ld-elf/nobits-1.d: Remove xfail for hppa64.

View file

@ -96,12 +96,12 @@ SECTIONS
LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*)); LONG (0); } LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*)); LONG (0); }
${CONSTRUCTING+ ___DTOR_LIST__ = .; __DTOR_LIST__ = . ; ${CONSTRUCTING+ ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*)); LONG (0); } LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*)); LONG (0); }
${RELOCATING+ *(.fini)} ${RELOCATING+ KEEP (*(.fini))}
/* ??? Why is .gcc_exc here? */ /* ??? Why is .gcc_exc here? */
${RELOCATING+ *(.gcc_exc)} ${RELOCATING+ *(.gcc_exc)}
${RELOCATING+PROVIDE (etext = .);} ${RELOCATING+PROVIDE (etext = .);}
${RELOCATING+PROVIDE (_etext = .);} ${RELOCATING+PROVIDE (_etext = .);}
${RELOCATING+ *(.gcc_except_table)} ${RELOCATING+ KEEP (*(.gcc_except_table))}
} }
/* The Cygwin32 library uses a section to avoid copying certain data /* The Cygwin32 library uses a section to avoid copying certain data
@ -141,7 +141,7 @@ SECTIONS
.pdata ${RELOCATING+BLOCK(__section_alignment__)} : .pdata ${RELOCATING+BLOCK(__section_alignment__)} :
{ {
KEEP(*(.pdata)) KEEP(*(.pdata*))
} }
.bss ${RELOCATING+BLOCK(__section_alignment__)} : .bss ${RELOCATING+BLOCK(__section_alignment__)} :