From cfd0966cb537ea42e35861bbfed3f54acc1351b8 Mon Sep 17 00:00:00 2001 From: Geoffrey Keating Date: Thu, 7 Oct 1999 02:19:45 +0000 Subject: * 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. --- ld/ChangeLog | 12 ++++++++++++ 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 + + * 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 * 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} : { -- cgit v1.1