* scripttempl/elf.sc (.text): Add KEEP for .text.*personality*.
authorEric Botcazou <ebotcazou@libertysurf.fr>
Wed, 21 Apr 2004 07:15:05 +0000 (07:15 +0000)
committerEric Botcazou <ebotcazou@libertysurf.fr>
Wed, 21 Apr 2004 07:15:05 +0000 (07:15 +0000)
(.data): Add KEEP for .gnu.linkonce.d.*personality*.
(.gcc_except_table): Add KEEP for self and accept .gcc_except_table.*.

ld/ChangeLog
ld/scripttempl/elf.sc

index 01cb060..5bd2b53 100644 (file)
@@ -1,3 +1,9 @@
+2004-04-21  Eric Botcazou  <ebotcazou@act-europe.fr>
+
+       * scripttempl/elf.sc (.text): Add KEEP for .text.*personality*.
+       (.data): Add KEEP for .gnu.linkonce.d.*personality*.
+       (.gcc_except_table): Add KEEP for self and accept .gcc_except_table.*.
+
 2004-04-21  Ben Elliston  <bje@au.ibm.com>
 
        * ld.texinfo (Simple Example): Add missing punctuation.
index 187a289..63551a2 100644 (file)
@@ -264,6 +264,7 @@ cat <<EOF
   {
     ${RELOCATING+${TEXT_START_SYMBOLS}}
     *(.text .stub${RELOCATING+ .text.* .gnu.linkonce.t.*})
+    KEEP (*(.text.*personality*))
     /* .gnu.warning sections are handled specially by elf32.em.  */
     *(.gnu.warning)
     ${RELOCATING+${OTHER_TEXT_SECTIONS}}
@@ -311,13 +312,14 @@ cat <<EOF
   {
     ${RELOCATING+${DATA_START_SYMBOLS}}
     *(.data${RELOCATING+ .data.* .gnu.linkonce.d.*})
+    KEEP (*(.gnu.linkonce.d.*personality*))
     ${CONSTRUCTING+SORT(CONSTRUCTORS)}
   }
   .data1        ${RELOCATING-0} : { *(.data1) }
   .tdata       ${RELOCATING-0} : { *(.tdata${RELOCATING+ .tdata.* .gnu.linkonce.td.*}) }
   .tbss                ${RELOCATING-0} : { *(.tbss${RELOCATING+ .tbss.* .gnu.linkonce.tb.*})${RELOCATING+ *(.tcommon)} }
   .eh_frame     ${RELOCATING-0} : { KEEP (*(.eh_frame)) }
-  .gcc_except_table ${RELOCATING-0} : { *(.gcc_except_table) }
+  .gcc_except_table ${RELOCATING-0} : { KEEP (*(.gcc_except_table)) *(.gcc_except_table.*) }
   ${WRITABLE_RODATA+${RODATA}}
   ${OTHER_READWRITE_SECTIONS}
   ${TEXT_DYNAMIC-${DYNAMIC}}