From 9599dfb1f6cb3b03d685d8cb0a8829ee803dfa89 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 5 Aug 2005 13:42:22 +0000 Subject: [PATCH] * emulparams/elf_x86_64.sh: Revert last change. * scripttempl/elf.sc (REL_LARGE, LARGE_SECTIONS): Define here. --- ld/ChangeLog | 5 +++++ ld/emulparams/elf_x86_64.sh | 25 +------------------------ ld/scripttempl/elf.sc | 23 +++++++++++++++++++++++ 3 files changed, 29 insertions(+), 24 deletions(-) diff --git a/ld/ChangeLog b/ld/ChangeLog index 05c579332d2..51d8f679e7d 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2005-08-05 Alan Modra + + * emulparams/elf_x86_64.sh: Revert last change. + * scripttempl/elf.sc (REL_LARGE, LARGE_SECTIONS): Define here. + 2005-08-05 Alan Modra * emulparams/armelf.sh (OTHER_BSS_END_SYMBOLS): Split out from diff --git a/ld/emulparams/elf_x86_64.sh b/ld/emulparams/elf_x86_64.sh index d62b5e41d28..35240df04cf 100644 --- a/ld/emulparams/elf_x86_64.sh +++ b/ld/emulparams/elf_x86_64.sh @@ -12,32 +12,9 @@ TEMPLATE_NAME=elf32 GENERATE_SHLIB_SCRIPT=yes GENERATE_PIE_SCRIPT=yes NO_SMALL_DATA=yes +LARGE_SECTIONS=yes SEPARATE_GOTPLT=24 -LARGE_SECTIONS=" - .lbss ${RELOCATING-0} : - { - *(.dynlbss) - *(.lbss${RELOCATING+ .lbss.* .gnu.linkonce.lb.*}) - *(LARGE_COMMON) - } - .lrodata ${RELOCATING-0} ${RELOCATING+ALIGN(${MAXPAGESIZE}) + (. & (${MAXPAGESIZE} - 1))} : - { - *(.lrodata${RELOCATING+ .lrodata.* .gnu.linkonce.lr.*}) - } - .ldata ${RELOCATING-0} ${RELOCATING+ALIGN(${MAXPAGESIZE}) + (. & (${MAXPAGESIZE} - 1))} : - { - *(.ldata${RELOCATING+ .ldata.* .gnu.linkonce.l.*}) - ${RELOCATING+. = ALIGN(. != 0 ? ${ALIGNMENT} : 1);} - }" -REL_LARGE=" - .rel.ldata ${RELOCATING-0} : { *(.rel.ldata${RELOCATING+ .rel.ldata.* .rel.gnu.linkonce.l.*}) } - .rela.ldata ${RELOCATING-0} : { *(.rela.ldata${RELOCATING+ .rela.ldata.* .rela.gnu.linkonce.l.*}) } - .rel.lbss ${RELOCATING-0} : { *(.rel.lbss${RELOCATING+ .rel.lbss.* .rel.gnu.linkonce.lb.*}) } - .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.*}) }" - if [ "x${host}" = "x${target}" ]; then case " $EMULATION_LIBPATH " in *" ${EMULATION_NAME} "*) diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc index ccbaaf4af1c..8140cca9540 100644 --- a/ld/scripttempl/elf.sc +++ b/ld/scripttempl/elf.sc @@ -166,6 +166,29 @@ if test -z "${SDATA_GOT}"; then fi fi test -n "$SEPARATE_GOTPLT" && SEPARATE_GOTPLT=" " +test "${LARGE_SECTIONS}" = "yes" && REL_LARGE=" + .rel.ldata ${RELOCATING-0} : { *(.rel.ldata${RELOCATING+ .rel.ldata.* .rel.gnu.linkonce.l.*}) } + .rela.ldata ${RELOCATING-0} : { *(.rela.ldata${RELOCATING+ .rela.ldata.* .rela.gnu.linkonce.l.*}) } + .rel.lbss ${RELOCATING-0} : { *(.rel.lbss${RELOCATING+ .rel.lbss.* .rel.gnu.linkonce.lb.*}) } + .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" && LARGE_SECTIONS=" + .lbss ${RELOCATING-0} : + { + *(.dynlbss) + *(.lbss${RELOCATING+ .lbss.* .gnu.linkonce.lb.*}) + *(LARGE_COMMON) + } + .lrodata ${RELOCATING-0} ${RELOCATING+ALIGN(${MAXPAGESIZE}) + (. & (${MAXPAGESIZE} - 1))} : + { + *(.lrodata${RELOCATING+ .lrodata.* .gnu.linkonce.lr.*}) + } + .ldata ${RELOCATING-0} ${RELOCATING+ALIGN(${MAXPAGESIZE}) + (. & (${MAXPAGESIZE} - 1))} : + { + *(.ldata${RELOCATING+ .ldata.* .gnu.linkonce.l.*}) + ${RELOCATING+. = ALIGN(. != 0 ? ${ALIGNMENT} : 1);} + }" CTOR=".ctors ${CONSTRUCTING-0} : { ${CONSTRUCTING+${CTOR_START}} -- 2.30.2