diff options
author | Geoffrey Keating <geoffk@geoffk.org> | 1999-10-07 02:19:45 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@geoffk.org> | 1999-10-07 02:19:45 +0000 |
commit | cfd0966cb537ea42e35861bbfed3f54acc1351b8 (patch) | |
tree | 82d110565337124dce65ab8b1471fffa4b7a9d1c /ld | |
parent | 2acceee2182a942e6a79a972009540990f4dfabf (diff) | |
download | gdb-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')
-rw-r--r-- | ld/ChangeLog | 12 | ||||
-rw-r--r-- | ld/scripttempl/elf.sc | 28 |
2 files changed, 37 insertions, 3 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 94fd853..dad40e2 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,15 @@ +1999-10-07 Geoffrey Keating <geoffk@cygnus.com> + + * 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. + 1999-09-29 Andrew Haley <aph@cygnus.com> * emultempl/pe.em (gld_${EMULATION_NAME}_place_orphan): Defer 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} : { |