From 134960cc27dc2778ae4980662c61aa51b985f8b3 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 9 Jan 2013 05:51:32 +0000 Subject: [PATCH] * emulparams/elf_x86_64.sh (LARGE_BSS_AFTER_BSS): Define. * emulparams/elf32_x86_64.sh: Likewise. * emulparams/elf_k1om.sh: Likewise. * emulparams/elf_l1om.sh: Likewise. * scripttempl/elf.sc (LARGE_BSS): Define rather than appending to OTHER_BSS_SECTIONS. Substitute in script. --- ld/ChangeLog | 9 +++++++++ ld/emulparams/elf32_x86_64.sh | 1 + ld/emulparams/elf_k1om.sh | 1 + ld/emulparams/elf_l1om.sh | 1 + ld/emulparams/elf_x86_64.sh | 1 + ld/scripttempl/elf.sc | 5 +++-- 6 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 67788df6528..5ae45a70e22 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,12 @@ +2013-01-09 Alan Modra + + * emulparams/elf_x86_64.sh (LARGE_BSS_AFTER_BSS): Define. + * emulparams/elf32_x86_64.sh: Likewise. + * emulparams/elf_k1om.sh: Likewise. + * emulparams/elf_l1om.sh: Likewise. + * scripttempl/elf.sc (LARGE_BSS): Define rather than appending to + OTHER_BSS_SECTIONS. Substitute in script. + 2013-01-08 Leif Ekblad * scripttempl/elf.sc (RODATA_ADDR): Typo fix. diff --git a/ld/emulparams/elf32_x86_64.sh b/ld/emulparams/elf32_x86_64.sh index bc77c85f020..d34297be2ac 100644 --- a/ld/emulparams/elf32_x86_64.sh +++ b/ld/emulparams/elf32_x86_64.sh @@ -13,6 +13,7 @@ GENERATE_SHLIB_SCRIPT=yes GENERATE_PIE_SCRIPT=yes NO_SMALL_DATA=yes LARGE_SECTIONS=yes +LARGE_BSS_AFTER_BSS= SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 24 ? 24 : 0" IREL_IN_PLT= diff --git a/ld/emulparams/elf_k1om.sh b/ld/emulparams/elf_k1om.sh index e77b2b00848..a5351e07c7f 100644 --- a/ld/emulparams/elf_k1om.sh +++ b/ld/emulparams/elf_k1om.sh @@ -14,6 +14,7 @@ GENERATE_SHLIB_SCRIPT=yes GENERATE_PIE_SCRIPT=yes NO_SMALL_DATA=yes LARGE_SECTIONS=yes +LARGE_BSS_AFTER_BSS= SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 24 ? 24 : 0" if [ "x${host}" = "x${target}" ]; then diff --git a/ld/emulparams/elf_l1om.sh b/ld/emulparams/elf_l1om.sh index 624f4b305d7..a090d21f3c1 100644 --- a/ld/emulparams/elf_l1om.sh +++ b/ld/emulparams/elf_l1om.sh @@ -14,6 +14,7 @@ GENERATE_SHLIB_SCRIPT=yes GENERATE_PIE_SCRIPT=yes NO_SMALL_DATA=yes LARGE_SECTIONS=yes +LARGE_BSS_AFTER_BSS= SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 24 ? 24 : 0" if [ "x${host}" = "x${target}" ]; then diff --git a/ld/emulparams/elf_x86_64.sh b/ld/emulparams/elf_x86_64.sh index f1b60cba884..ae849e0b8b6 100644 --- a/ld/emulparams/elf_x86_64.sh +++ b/ld/emulparams/elf_x86_64.sh @@ -13,6 +13,7 @@ GENERATE_SHLIB_SCRIPT=yes GENERATE_PIE_SCRIPT=yes NO_SMALL_DATA=yes LARGE_SECTIONS=yes +LARGE_BSS_AFTER_BSS= SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 24 ? 24 : 0" IREL_IN_PLT= diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc index 7b390b44af1..cf3f6d8c745 100644 --- a/ld/scripttempl/elf.sc +++ b/ld/scripttempl/elf.sc @@ -213,8 +213,7 @@ test "${LARGE_SECTIONS}" = "yes" && REL_LARGE=" .rela.lbss ${RELOCATING-0} : { *(.rela.lbss${RELOCATING+ .rela.lbss.* .rela.gnu.linkonce.lb.*}) } .rel.lrodata ${RELOCATING-0} : { *(.rel.lrodata${RELOCATING+ .rel.lrodata.* .rel.gnu.linkonce.lr.*}) } .rela.lrodata ${RELOCATING-0} : { *(.rela.lrodata${RELOCATING+ .rela.lrodata.* .rela.gnu.linkonce.lr.*}) }" -test "${LARGE_SECTIONS}" = "yes" && OTHER_BSS_SECTIONS=" - ${OTHER_BSS_SECTIONS} +test "${LARGE_SECTIONS}" = "yes" && LARGE_BSS=" .lbss ${RELOCATING-0} : { *(.dynlbss) @@ -606,9 +605,11 @@ cat <