PE linker script improvements.
authorNick Clifton <nickc@redhat.com>
Tue, 13 Dec 2016 17:05:20 +0000 (17:05 +0000)
committerNick Clifton <nickc@redhat.com>
Tue, 13 Dec 2016 17:05:20 +0000 (17:05 +0000)
PR ld/19254
* scripttempl/pe.sc (.fini): KEEP this section.
(.gcc_except_table): Likewise.
(.pdata): Also accept .pdata*.

ld/ChangeLog
ld/scripttempl/pe.sc

index 08ce0164646574c72f6235592915f7641dd21808..e910acc8cec551103ed190a8dd49b49120350e1c 100644 (file)
        * testsuite/ld-aarch64/limit-b.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>
 
        * testsuite/ld-elf/nobits-1.d: Remove xfail for hppa64.
index 59e4e89eb846cc3b36e7da9bb57924dde1cda31b..cef05c56f73cd90e910b81d84ff45fbdfbb7eae0 100644 (file)
@@ -96,12 +96,12 @@ SECTIONS
                        LONG (-1);*(.ctors); *(.ctor); *(SORT(.ctors.*));  LONG (0); }
     ${CONSTRUCTING+ ___DTOR_LIST__ = .; __DTOR_LIST__ = . ;
                        LONG (-1); *(.dtors); *(.dtor); *(SORT(.dtors.*));  LONG (0); }
-    ${RELOCATING+ *(.fini)}
+    ${RELOCATING+ KEEP (*(.fini))}
     /* ??? Why is .gcc_exc here?  */
     ${RELOCATING+ *(.gcc_exc)}
     ${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
@@ -141,7 +141,7 @@ SECTIONS
 
   .pdata ${RELOCATING+BLOCK(__section_alignment__)} :
   {
-    KEEP(*(.pdata))
+    KEEP(*(.pdata*))
   }
 
   .bss ${RELOCATING+BLOCK(__section_alignment__)} :