aboutsummaryrefslogtreecommitdiff
path: root/ld/scripttempl
diff options
context:
space:
mode:
authorGeoffrey Keating <geoffk@geoffk.org>1999-10-07 02:19:45 +0000
committerGeoffrey Keating <geoffk@geoffk.org>1999-10-07 02:19:45 +0000
commitcfd0966cb537ea42e35861bbfed3f54acc1351b8 (patch)
tree82d110565337124dce65ab8b1471fffa4b7a9d1c /ld/scripttempl
parent2acceee2182a942e6a79a972009540990f4dfabf (diff)
downloadgdb-cfd0966cb537ea42e35861bbfed3f54acc1351b8.zip
gdb-cfd0966cb537ea42e35861bbfed3f54acc1351b8.tar.gz
gdb-cfd0966cb537ea42e35861bbfed3f54acc1351b8.tar.bz2
* scripttempl/elf.sc (.rel.sdata): Combine all the sdata relocs
being .rel.sdata, .rel.sdata.*, .rel.gnu.linkonce.s*. (.rela.sdata): Likewise for .rela.sdata.* and .rela.gnu.linkonce.s*. (.rel.sbss): Make like .rel.bss. (.rela.sbss): Make like .rel.bss. (.sdata): Don't include .gnu.linkonce.s.* or .sdata.* when ld -r. (.sbss): Do the same things as for .bss: include SDATA_START_SYMBOLS, .dynsbss.
Diffstat (limited to 'ld/scripttempl')
-rw-r--r--ld/scripttempl/elf.sc28
1 files changed, 25 insertions, 3 deletions
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
index 57a825b..58dc7b0 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -169,6 +169,20 @@ SECTIONS
.rel.got ${RELOCATING-0} : { *(.rel.got) }
.rela.got ${RELOCATING-0} : { *(.rela.got) }
${OTHER_GOT_RELOC_SECTIONS}
+ .rel.sdata ${RELOCATING-0} :
+ {
+ *(.rel.sdata)
+ ${RELOCATING+*(.rel.sdata.*)}
+ ${RELOCATING+*(.rel.gnu.linkonce.s*)}
+ }
+ .rela.sdata ${RELOCATING-0} :
+ {
+ *(.rela.sdata)
+ ${RELOCATING+*(.rela.sdata.*)}
+ ${RELOCATING+*(.rela.gnu.linkonce.s*)}
+ }
+ .rel.sbss ${RELOCATING-0} : { *(.rel.sbss) }
+ .rela.sbss ${RELOCATING-0} : { *(.rela.sbss) }
.rel.bss ${RELOCATING-0} : { *(.rel.bss) }
.rela.bss ${RELOCATING-0} : { *(.rela.bss) }
.rel.plt ${RELOCATING-0} : { *(.rel.plt) }
@@ -232,7 +246,13 @@ 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) *(.sdata.*) *(.gnu.linkonce.s.*) }
+ .sdata ${RELOCATING-0} :
+ {
+ ${RELOCATING+${SDATA_START_SYMBOLS}}
+ *(.sdata)
+ ${RELOCATING+*(.sdata.*)}
+ ${RELOCATING+*(.gnu.linkonce.s.*)}
+ }
${RELOCATING+${OTHER_GOT_SECTIONS}}
${RELOCATING+_edata = .;}
${RELOCATING+PROVIDE (edata = .);}
@@ -240,8 +260,10 @@ SECTIONS
${RELOCATING+${OTHER_BSS_SYMBOLS}}
.sbss ${RELOCATING-0} :
{
- *(.sbss) *(.scommon)
- ${RELOCATING+*(.sbss.*)}
+ *(.dynsbss)
+ *(.sbss)
+ ${RELOCATING+*(.sbss.*)}
+ *(.scommon)
}
.bss ${RELOCATING-0} :
{