* emulparams/elf_x86_64.sh (LARGE_BSS_AFTER_BSS): Define.
authorAlan Modra <amodra@gmail.com>
Wed, 9 Jan 2013 05:51:32 +0000 (05:51 +0000)
committerAlan Modra <amodra@gmail.com>
Wed, 9 Jan 2013 05:51:32 +0000 (05:51 +0000)
* 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
ld/emulparams/elf32_x86_64.sh
ld/emulparams/elf_k1om.sh
ld/emulparams/elf_l1om.sh
ld/emulparams/elf_x86_64.sh
ld/scripttempl/elf.sc

index 67788df6528d435d41f58a5e94795a6a96eb6539..5ae45a70e22f1133c726839ed6f8f69d212eb7c0 100644 (file)
@@ -1,3 +1,12 @@
+2013-01-09  Alan Modra  <amodra@gmail.com>
+
+       * 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  <leif@rdos.net>
 
        * scripttempl/elf.sc (RODATA_ADDR): Typo fix.
index bc77c85f020eabf2cd88f6b5c4a983483bef3b9c..d34297be2ac2aac0d800ac668d76c16102704e9d 100644 (file)
@@ -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=
 
index e77b2b0084824daeeb4f018d8f38b1c765c6ac97..a5351e07c7f6dfe383a39e7194cb44d718f881d4 100644 (file)
@@ -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
index 624f4b305d7c8d5242472cb9e89c18b2c1e2ff0a..a090d21f3c12f2e5329e924b0ae4df3344f6a6d3 100644 (file)
@@ -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
index f1b60cba884cc92eb6903a228e963466674bd02b..ae849e0b8b6b36c652abea95a7e8ca24bfa8177e 100644 (file)
@@ -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=
 
index 7b390b44af102be7c7e9fa8db6ec3052057bfc41..cf3f6d8c745fa14be34264395d7634390ee7c458 100644 (file)
@@ -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 <<EOF
    ${RELOCATING+. = ALIGN(. != 0 ? ${ALIGNMENT} : 1);}
   }
   ${OTHER_BSS_SECTIONS}
+  ${LARGE_BSS_AFTER_BSS+${LARGE_BSS}}
   ${RELOCATING+${OTHER_BSS_END_SYMBOLS}}
   ${RELOCATING+. = ALIGN(${ALIGNMENT});}
   ${LARGE_SECTIONS}
+  ${LARGE_BSS_AFTER_BSS-${LARGE_BSS}}
   ${RELOCATING+. = ALIGN(${ALIGNMENT});}
   ${RELOCATING+${OTHER_END_SYMBOLS}}
   ${RELOCATING+${END_SYMBOLS-${USER_LABEL_PREFIX}_end = .; PROVIDE (${USER_LABEL_PREFIX}end = .);}}