Add support for -fdata-sections
authorMichael Meissner <gnu@the-meissners.org>
Thu, 8 Mar 2001 02:20:25 +0000 (02:20 +0000)
committerMichael Meissner <gnu@the-meissners.org>
Thu, 8 Mar 2001 02:20:25 +0000 (02:20 +0000)
ld/ChangeLog
ld/scripttempl/elfd10v.sc

index 73d3a216b969cf8764330244f2e2a058a491053e..f3640241a9c5ea7b5a340d269e30bdc9e19e59bf 100644 (file)
@@ -1,3 +1,9 @@
+2001-03-07  Michael Meissner  <meissner@redhat.com>
+
+       * scripttempl/elfd10v.sc (.rodata,.rodata1,.data1,.sdata): Deal
+       with sections created by -fdata-sections.
+       (.dynbss,.bss): Ditto.
+
 2001-03-05  Alan Modra  <alan@linuxcare.com.au>
 
        * emultempl/m68kelf.em (m68k_elf_after_allocation): Call
index 4dca63c9b0be97cb9be7b962e8257f2fe25cad34..3d697558bc49febaffc470f2a2c1ac96dd0e9039 100644 (file)
@@ -77,7 +77,9 @@ SECTIONS
   {
     ${RELOCATING+${TEXT_START_SYMBOLS}}
     KEEP (*(.init))
+    KEEP (*(.init.*))
     KEEP (*(.fini))
+    KEEP (*(.fini.*))
     *(.text)
     *(.text.*)
     /* .gnu.warning sections are handled specially by elf32.em.  */
@@ -88,9 +90,15 @@ SECTIONS
   } ${RELOCATING+ >INSN} =${NOP-0}
 
   .rodata  ${RELOCATING-0} : {
-    *(.rodata) *(.gnu.linkonce.r*)
+    *(.rodata)
+    *(.gnu.linkonce.r*)
+    *(.rodata.*)
   } ${RELOCATING+ >DATA}
-  .rodata1 ${RELOCATING-0} : { *(.rodata1) } ${RELOCATING+ >DATA}
+
+  .rodata1 ${RELOCATING-0} : {
+    *(.rodata1)
+    *(.rodata1.*)
+   } ${RELOCATING+ >DATA}
 
   .data  ${RELOCATING-0} :
   {
@@ -107,7 +115,11 @@ SECTIONS
   /* We want the small data sections together, so single-instruction offsets
      can access them all, and initialized data all before uninitialized, so
      we can shorten the on-disk segment size.  */
-  .sdata   ${RELOCATING-0} : { *(.sdata) } ${RELOCATING+ >DATA}
+  .sdata   ${RELOCATING-0} : {
+    *(.sdata)
+    *(.sdata.*)
+  } ${RELOCATING+ >DATA}
+
   ${RELOCATING+_edata = .;}
   ${RELOCATING+PROVIDE (edata = .);}
   ${RELOCATING+__bss_start = .;}
@@ -115,9 +127,12 @@ SECTIONS
   .bss     ${RELOCATING-0} :
   {
    *(.dynbss)
+   *(.dynbss.*)
    *(.bss)
+   *(.bss.*)
    *(COMMON)
   } ${RELOCATING+ >DATA}
+
   ${RELOCATING+_end = . ;}
   ${RELOCATING+PROVIDE (end = .);}