diff options
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 37 | ||||
-rw-r--r-- | ld/emulparams/armelf.sh | 3 | ||||
-rw-r--r-- | ld/emulparams/armelf_linux.sh | 3 | ||||
-rw-r--r-- | ld/emulparams/armnto.sh | 3 | ||||
-rw-r--r-- | ld/emulparams/criself.sh | 6 | ||||
-rw-r--r-- | ld/emulparams/crislinux.sh | 4 | ||||
-rwxr-xr-x | ld/emulparams/elf32fr30.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/elf32mcore.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/elf64mmix.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/elf_x86_64.sh | 25 | ||||
-rw-r--r-- | ld/emulparams/hppa64linux.sh | 6 | ||||
-rw-r--r-- | ld/emulparams/m32relf.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/vxworks.sh | 2 | ||||
-rw-r--r-- | ld/scripttempl/armbpabi.sc | 6 | ||||
-rw-r--r-- | ld/scripttempl/elf.sc | 38 | ||||
-rw-r--r-- | ld/scripttempl/elf32sh-symbian.sc | 9 | ||||
-rw-r--r-- | ld/scripttempl/elf_chaos.sc | 9 | ||||
-rw-r--r-- | ld/scripttempl/elfxtensa.sc | 9 | ||||
-rw-r--r-- | ld/scripttempl/iq2000.sc | 5 | ||||
-rw-r--r-- | ld/scripttempl/xstormy16.sc | 5 |
20 files changed, 104 insertions, 74 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 907208f..05c5793 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,40 @@ +2005-08-05 Alan Modra <amodra@bigpond.net.au> + + * emulparams/armelf.sh (OTHER_BSS_END_SYMBOLS): Split out from + OTHER_END_SYMBOLS. + * emulparams/armelf_linux.sh: Likewise. + * emulparams/armnto.sh: Likewise. + * emulparams/criself.sh: Likewise. + * emulparams/elf32mcore.sh: Likewise. + * emulparams/criself.sh (OTHER_SYMBOLS): Define. + * emulparams/crislinux.sh (OTHER_SYMBOLS): Define. + (OTHER_END_SYMBOLS): Don't define. + * emulparams/elf32fr30.sh: Likewise. + * emulparams/elf64mmix.sh: Likewise. + * emulparams/hppa64linux.sh: Likewise. + * emulparams/m32relf.sh: Likewise. + * emulparams/vxworks.sh: Likewise. + * scripttempl/armbpabi.sc (OTHER_BSS_SECTIONS): Delete. + (OTHER_BSS_END_SYMBOLS): Add. + (OTHER_END_SYMBOLS): Move before current end sym definitions. + (OTHER_SYMBOLS): Replace OTHER_END_SYMBOLS near end of script. + * scripttempl/elf.sc: Likewise. + * scripttempl/elf32sh-symbian.sc: Likewise. + * scripttempl/elf_chaos.sc: Likewise. + * scripttempl/elfxtensa.sc: Likewise. + * scripttempl/iq2000.sc: Likewise. + * scripttempl/xstormy16.sc: Likewise. + + * scripttempl/elf.sc (LBSS, LARGE_SECTIONS): Delete. + (REL_LDATA, REL_LBSS, REL_LRODATA): Delete. + (REL_LARGE, LARGE_SECTIONS): Add. + * emulparams/elf_x86_64.sh (LARGE_SECTIONS): Define as script text. + (REL_LARGE): Define. + * emulparams/hppa64linux.sh (OTHER_BSS_SECTIONS): Don't define. + (LARGE_SECTIONS): Define. + * emulparams/hppa64linux.sh (OTHER_BSS_SECTIONS): Don't define. + (LARGE_SECTIONS): Define. + 2005-08-04 Alan Modra <amodra@bigpond.net.au> * ldemul.c (ldemul_do_assignments, do_assignments_default): Delete. diff --git a/ld/emulparams/armelf.sh b/ld/emulparams/armelf.sh index c3d5bd0..782fd2d 100644 --- a/ld/emulparams/armelf.sh +++ b/ld/emulparams/armelf.sh @@ -8,7 +8,8 @@ TEMPLATE_NAME=elf32 EXTRA_EM_FILE=armelf OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)' OTHER_BSS_SYMBOLS='__bss_start__ = .;' -OTHER_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;' +OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' +OTHER_END_SYMBOLS='__end__ = . ;' OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }' OTHER_READONLY_SECTIONS=" .ARM.extab ${RELOCATING-0} : { *(.ARM.extab${RELOCATING+* .gnu.linkonce.armextab.*}) } diff --git a/ld/emulparams/armelf_linux.sh b/ld/emulparams/armelf_linux.sh index fd927c5..39b7f65 100644 --- a/ld/emulparams/armelf_linux.sh +++ b/ld/emulparams/armelf_linux.sh @@ -13,7 +13,8 @@ GENERATE_PIE_SCRIPT=yes DATA_START_SYMBOLS='__data_start = . ;'; OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)' OTHER_BSS_SYMBOLS='__bss_start__ = .;' -OTHER_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;' +OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' +OTHER_END_SYMBOLS='__end__ = . ;' OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }' TEXT_START_ADDR=0x00008000 diff --git a/ld/emulparams/armnto.sh b/ld/emulparams/armnto.sh index 7e468c0..6429612 100644 --- a/ld/emulparams/armnto.sh +++ b/ld/emulparams/armnto.sh @@ -8,7 +8,8 @@ TEMPLATE_NAME=elf32 EXTRA_EM_FILE=armelf OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)' OTHER_BSS_SYMBOLS='__bss_start__ = .;' -OTHER_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;' +OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' +OTHER_END_SYMBOLS='__end__ = . ;' DATA_START_SYMBOLS='__data_start = . ;'; diff --git a/ld/emulparams/criself.sh b/ld/emulparams/criself.sh index d63424d..0478f34 100644 --- a/ld/emulparams/criself.sh +++ b/ld/emulparams/criself.sh @@ -42,12 +42,12 @@ OTHER_SDATA_SECTIONS="${RELOCATING+PROVIDE (__Edata = .);}" # address, we can't get to it with OTHER_BSS_SYMBOLS, neither can we # use ADDR(.bss) there. Instead, we use the symbol support for the # end symbol. -OTHER_END_SYMBOLS=' +OTHER_BSS_END_SYMBOLS=' PROVIDE (__Ebss = .); - PROVIDE (__end = .); __Sbss = ADDR (.bss); PROVIDE (_bss_start = __Sbss); ' +OTHER_END_SYMBOLS='PROVIDE (__end = .);' INIT_START=' . = ALIGN(2); @@ -90,7 +90,7 @@ CTOR_END=' ' # Also add the other symbols provided for rsim/xsim and elinux. -OTHER_END_SYMBOLS=' +OTHER_SYMBOLS=' PROVIDE (__Eall = .); PROVIDE (__Endmem = 0x10000000); PROVIDE (__Stacksize = 0); diff --git a/ld/emulparams/crislinux.sh b/ld/emulparams/crislinux.sh index 8d7ba5f..98d12f3 100644 --- a/ld/emulparams/crislinux.sh +++ b/ld/emulparams/crislinux.sh @@ -28,10 +28,10 @@ DATA_START_SYMBOLS='PROVIDE (__Sdata = .);' # Smuggle an "OTHER_DATA_END_SYMBOLS" here. OTHER_SDATA_SECTIONS="${RELOCATING+PROVIDE (__Edata = .);}" OTHER_BSS_SYMBOLS='PROVIDE (__Sbss = .);' -OTHER_END_SYMBOLS='PROVIDE (__Ebss = .);' +OTHER_BSS_END_SYMBOLS='PROVIDE (__Ebss = .);' # Also add the other symbols provided for rsim/xsim and elinux. -OTHER_END_SYMBOLS=' +OTHER_SYMBOLS=' PROVIDE (__Eall = .); PROVIDE (__Endmem = 0x10000000); PROVIDE (__Stacksize = 0); diff --git a/ld/emulparams/elf32fr30.sh b/ld/emulparams/elf32fr30.sh index cec006c..069c623 100755 --- a/ld/emulparams/elf32fr30.sh +++ b/ld/emulparams/elf32fr30.sh @@ -7,4 +7,4 @@ MAXPAGESIZE=256 ENTRY=_start EMBEDDED=yes NOP=0x9fa09fa0 -OTHER_END_SYMBOLS='PROVIDE (__stack = 0x200000);' +OTHER_SYMBOLS='PROVIDE (__stack = 0x200000);' diff --git a/ld/emulparams/elf32mcore.sh b/ld/emulparams/elf32mcore.sh index 242af81..930a9c3 100644 --- a/ld/emulparams/elf32mcore.sh +++ b/ld/emulparams/elf32mcore.sh @@ -22,7 +22,7 @@ EMBEDDED=yes NOP=0x0e0e0e0e OTHER_BSS_SYMBOLS="__bss_start__ = . ;" -OTHER_END_SYMBOLS="__bss_end__ = . ;" +OTHER_BSS_END_SYMBOLS="__bss_end__ = . ;" # This sets the stack to the top of the simulator memory (2^19 bytes). STACK_ADDR=0x80000 diff --git a/ld/emulparams/elf64mmix.sh b/ld/emulparams/elf64mmix.sh index 1ee9283..22b207f 100644 --- a/ld/emulparams/elf64mmix.sh +++ b/ld/emulparams/elf64mmix.sh @@ -58,4 +58,4 @@ OTHER_SECTIONS=' # EXECUTABLE_SYMBOLS. # By default, put the high end of the stack where the register stack # begins. They grow in opposite directions. */ -OTHER_END_SYMBOLS="PROVIDE (__Stack_start = 0x6000000000000000);" +OTHER_SYMBOLS="PROVIDE (__Stack_start = 0x6000000000000000);" diff --git a/ld/emulparams/elf_x86_64.sh b/ld/emulparams/elf_x86_64.sh index 35240df..d62b5e4 100644 --- a/ld/emulparams/elf_x86_64.sh +++ b/ld/emulparams/elf_x86_64.sh @@ -12,9 +12,32 @@ 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/emulparams/hppa64linux.sh b/ld/emulparams/hppa64linux.sh index 3e0e3e7..66bb842 100644 --- a/ld/emulparams/hppa64linux.sh +++ b/ld/emulparams/hppa64linux.sh @@ -30,12 +30,12 @@ OTHER_READWRITE_SECTIONS=" # The PA64 ELF port has two additional bss sections. huge bss and thread bss. # Make sure they end up in the appropriate location. We also have to set # __TLS_SIZE to the size of the thread bss section. -OTHER_BSS_SECTIONS=" +LARGE_SECTIONS=" .hbss ${RELOCATING-0} : { *(.hbss) } .tbss ${RELOCATING-0} : { *(.tbss) } " -#OTHER_END_SYMBOLS='PROVIDE (__TLS_SIZE = SIZEOF (.tbss));' -OTHER_END_SYMBOLS=' +#OTHER_SYMBOLS='PROVIDE (__TLS_SIZE = SIZEOF (.tbss));' +OTHER_SYMBOLS=' PROVIDE (__TLS_SIZE = 0); PROVIDE (__TLS_INIT_SIZE = 0); PROVIDE (__TLS_INIT_START = 0); diff --git a/ld/emulparams/m32relf.sh b/ld/emulparams/m32relf.sh index c67472a..947c7a8 100644 --- a/ld/emulparams/m32relf.sh +++ b/ld/emulparams/m32relf.sh @@ -9,4 +9,4 @@ MAXPAGESIZE=32 EMBEDDED=yes # This sets the stack to the top of simulator memory (8MB). -OTHER_END_SYMBOLS='PROVIDE (_stack = 0x800000);' +OTHER_SYMBOLS='PROVIDE (_stack = 0x800000);' diff --git a/ld/emulparams/vxworks.sh b/ld/emulparams/vxworks.sh index 01757a2..0bd00e5 100644 --- a/ld/emulparams/vxworks.sh +++ b/ld/emulparams/vxworks.sh @@ -21,5 +21,5 @@ FINI_END='KEEP (*(.fini$99)); PROVIDE (_etext = .);' ETEXT_NAME=etext_unrelocated -OTHER_END_SYMBOLS="PROVIDE (_ehdr = ${TEXT_START_ADDR});" +OTHER_SYMBOLS="PROVIDE (_ehdr = ${TEXT_START_ADDR});" DATA_END_SYMBOLS=".edata : { PROVIDE (_edata = .); }" diff --git a/ld/scripttempl/armbpabi.sc b/ld/scripttempl/armbpabi.sc index fb4656f..dccc8cd 100644 --- a/ld/scripttempl/armbpabi.sc +++ b/ld/scripttempl/armbpabi.sc @@ -293,10 +293,10 @@ cat <<EOF .bss section disappears because there are no input sections. */ ${RELOCATING+. = ALIGN(${ALIGNMENT});} } - ${OTHER_BSS_SECTIONS} + ${RELOCATING+${OTHER_BSS_END_SYMBOLS}} ${RELOCATING+. = ALIGN(${ALIGNMENT});} - ${RELOCATING+_end = .;} ${RELOCATING+${OTHER_END_SYMBOLS}} + ${RELOCATING+_end = .;} ${RELOCATING+PROVIDE (end = .);} ${RELOCATING+${DATA_SEGMENT_END}} @@ -353,7 +353,7 @@ cat <<EOF ${STACK_ADDR+${STACK}} ${OTHER_SECTIONS} - ${RELOCATING+${OTHER_END_SYMBOLS}} + ${RELOCATING+${OTHER_SYMBOLS}} ${RELOCATING+${STACKNOTE}} EOF diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc index 3ee8b43..ccbaaf4 100644 --- a/ld/scripttempl/elf.sc +++ b/ld/scripttempl/elf.sc @@ -14,7 +14,6 @@ # (e.g., .PARISC.global) # OTHER_RELRO_SECTIONS - other than .data.rel.ro ... # (e.g. PPC32 .fixup, .got[12]) -# OTHER_BSS_SECTIONS - other than .bss .sbss ... # OTHER_SECTIONS - at the end # EXECUTABLE_SYMBOLS - symbols that must be defined for an # executable (e.g., _DYNAMIC_LINK) @@ -46,7 +45,7 @@ # FINI_START, FINI_END - statements just before and just after # combination of .fini sections. # STACK_ADDR - start of a .stack section. -# OTHER_END_SYMBOLS - symbols to place right at the end of the script. +# OTHER_SYMBOLS - symbols to place right at the end of the script. # ETEXT_NAME - name of a symbol for the end of the text section, # normally etext. # SEPARATE_GOTPLT - if set, .got.plt should be separate output section, @@ -166,31 +165,6 @@ if test -z "${SDATA_GOT}"; then SDATA_GOT=" " fi fi -if test -n "${LARGE_SECTIONS}"; then - LBSS=" - .lbss ${RELOCATING-0} : - { - *(.dynlbss) - *(.lbss${RELOCATING+ .lbss.* .gnu.linkonce.lb.*}) - *(LARGE_COMMON) - }" - LARGE_SECTIONS=" - .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_LDATA=".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=".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=".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.*}) }" -fi test -n "$SEPARATE_GOTPLT" && SEPARATE_GOTPLT=" " CTOR=".ctors ${CONSTRUCTING-0} : { @@ -308,9 +282,7 @@ eval $COMBRELOCCAT <<EOF ${REL_SBSS2} .rel.bss ${RELOCATING-0} : { *(.rel.bss${RELOCATING+ .rel.bss.* .rel.gnu.linkonce.b.*}) } .rela.bss ${RELOCATING-0} : { *(.rela.bss${RELOCATING+ .rela.bss.* .rela.gnu.linkonce.b.*}) } - ${REL_LDATA} - ${REL_LBSS} - ${REL_LRODATA} + ${REL_LARGE} EOF if [ -n "$COMBRELOC" ]; then cat <<EOF @@ -451,8 +423,8 @@ cat <<EOF pad the .data section. */ ${RELOCATING+. = ALIGN(. != 0 ? ${ALIGNMENT} : 1);} } - ${LBSS} - ${OTHER_BSS_SECTIONS} + ${RELOCATING+${OTHER_BSS_END_SYMBOLS}} + ${RELOCATING+. = ALIGN(${ALIGNMENT});} ${LARGE_SECTIONS} ${RELOCATING+. = ALIGN(${ALIGNMENT});} ${RELOCATING+${OTHER_END_SYMBOLS}} @@ -503,7 +475,7 @@ cat <<EOF ${STACK_ADDR+${STACK}} ${OTHER_SECTIONS} - ${RELOCATING+${OTHER_END_SYMBOLS}} + ${RELOCATING+${OTHER_SYMBOLS}} ${RELOCATING+${STACKNOTE}} } EOF diff --git a/ld/scripttempl/elf32sh-symbian.sc b/ld/scripttempl/elf32sh-symbian.sc index 7f177c9..1f87c2a 100644 --- a/ld/scripttempl/elf32sh-symbian.sc +++ b/ld/scripttempl/elf32sh-symbian.sc @@ -8,7 +8,6 @@ # OTHER_TEXT_SECTIONS - these get put in .text when relocating # OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ... # (e.g., .PARISC.global) -# OTHER_BSS_SECTIONS - other than .bss .sbss ... # OTHER_SECTIONS - at the end # EXECUTABLE_SYMBOLS - symbols that must be defined for an # executable (e.g., _DYNAMIC_LINK) @@ -34,7 +33,7 @@ # FINI_START, FINI_END - statements just before and just after # combination of .fini sections. # STACK_ADDR - start of a .stack section. -# OTHER_END_SYMBOLS - symbols to place right at the end of the script. +# OTHER_SYMBOLS - symbols to place right at the end of the script. # # When adding sections, do note that the names of some sections are used # when specifying the start address of the next. @@ -257,10 +256,10 @@ SECTIONS .bss section disappears because there are no input sections. */ ${RELOCATING+. = ALIGN(${ALIGNMENT});} } :data - ${OTHER_BSS_SECTIONS} + ${RELOCATING+${OTHER_BSS_END_SYMBOLS}} ${RELOCATING+. = ALIGN(${ALIGNMENT});} - ${RELOCATING+_end = .;} ${RELOCATING+${OTHER_END_SYMBOLS}} + ${RELOCATING+_end = .;} ${RELOCATING+PROVIDE (end = .);} ${RELOCATING+${DATA_SEGMENT_END}} @@ -371,7 +370,7 @@ cat <<EOF ${STACK_ADDR+${STACK}} ${OTHER_SECTIONS} - ${RELOCATING+${OTHER_END_SYMBOLS}} + ${RELOCATING+${OTHER_SYMBOLS}} ${RELOCATING+${STACKNOTE}} } EOF diff --git a/ld/scripttempl/elf_chaos.sc b/ld/scripttempl/elf_chaos.sc index 11e7291..10abf4a 100644 --- a/ld/scripttempl/elf_chaos.sc +++ b/ld/scripttempl/elf_chaos.sc @@ -10,7 +10,6 @@ # OTHER_TEXT_SECTIONS - these get put in .text when relocating # OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ... # (e.g., .PARISC.global) -# OTHER_BSS_SECTIONS - other than .bss .sbss ... # OTHER_SECTIONS - at the end # EXECUTABLE_SYMBOLS - symbols that must be defined for an # executable (e.g., _DYNAMIC_LINK) @@ -36,7 +35,7 @@ # FINI_START, FINI_END - statements just before and just after # combination of .fini sections. # STACK_ADDR - start of a .stack section. -# OTHER_END_SYMBOLS - symbols to place right at the end of the script. +# OTHER_SYMBOLS - symbols to place right at the end of the script. # # When adding sections, do note that the names of some sections are used # when specifying the start address of the next. @@ -298,10 +297,10 @@ cat <<EOF .bss section disappears because there are no input sections. */ ${RELOCATING+. = ALIGN(${ALIGNMENT});} } - ${OTHER_BSS_SECTIONS} + ${RELOCATING+${OTHER_BSS_END_SYMBOLS}} ${RELOCATING+. = ALIGN(${ALIGNMENT});} - ${RELOCATING+_end = .;} ${RELOCATING+${OTHER_END_SYMBOLS}} + ${RELOCATING+_end = .;} ${RELOCATING+PROVIDE (end = .);} /* Stabs debugging sections. */ @@ -349,6 +348,6 @@ cat <<EOF ${STACK_ADDR+${STACK}} ${OTHER_SECTIONS} - ${RELOCATING+${OTHER_END_SYMBOLS}} + ${RELOCATING+${OTHER_SYMBOLS}} } EOF diff --git a/ld/scripttempl/elfxtensa.sc b/ld/scripttempl/elfxtensa.sc index 6b594c6..1d8984f 100644 --- a/ld/scripttempl/elfxtensa.sc +++ b/ld/scripttempl/elfxtensa.sc @@ -14,7 +14,6 @@ # (e.g., .PARISC.global) # OTHER_RELRO_SECTIONS - other than .data.rel.ro ... # (e.g. PPC32 .fixup, .got[12]) -# OTHER_BSS_SECTIONS - other than .bss .sbss ... # OTHER_SECTIONS - at the end # EXECUTABLE_SYMBOLS - symbols that must be defined for an # executable (e.g., _DYNAMIC_LINK) @@ -46,7 +45,7 @@ # FINI_START, FINI_END - statements just before and just after # combination of .fini sections. # STACK_ADDR - start of a .stack section. -# OTHER_END_SYMBOLS - symbols to place right at the end of the script. +# OTHER_SYMBOLS - symbols to place right at the end of the script. # ETEXT_NAME - name of a symbol for the end of the text section, # normally etext. # SEPARATE_GOTPLT - if set, .got.plt should be separate output section, @@ -404,10 +403,10 @@ cat <<EOF .bss section disappears because there are no input sections. */ ${RELOCATING+. = ALIGN(${ALIGNMENT});} } - ${OTHER_BSS_SECTIONS} + ${RELOCATING+${OTHER_BSS_END_SYMBOLS}} ${RELOCATING+. = ALIGN(${ALIGNMENT});} - ${RELOCATING+_end = .;} ${RELOCATING+${OTHER_END_SYMBOLS}} + ${RELOCATING+_end = .;} ${RELOCATING+PROVIDE (end = .);} ${RELOCATING+${DATA_SEGMENT_END}} @@ -454,7 +453,7 @@ cat <<EOF ${STACK_ADDR+${STACK}} ${OTHER_SECTIONS} - ${RELOCATING+${OTHER_END_SYMBOLS}} + ${RELOCATING+${OTHER_SYMBOLS}} ${RELOCATING+${STACKNOTE}} } EOF diff --git a/ld/scripttempl/iq2000.sc b/ld/scripttempl/iq2000.sc index ddff5ff..d158629 100644 --- a/ld/scripttempl/iq2000.sc +++ b/ld/scripttempl/iq2000.sc @@ -8,7 +8,6 @@ # OTHER_TEXT_SECTIONS - these get put in .text when relocating # OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ... # (e.g., .PARISC.global) -# OTHER_BSS_SECTIONS - other than .bss .sbss ... # OTHER_SECTIONS - at the end # EXECUTABLE_SYMBOLS - symbols that must be defined for an # executable (e.g., _DYNAMIC_LINK) @@ -388,10 +387,10 @@ cat <<EOF .bss section disappears because there are no input sections. */ ${RELOCATING+. = ALIGN(${ALIGNMENT});} } - ${RELOCATING+${OTHER_BSS_SECTIONS}} + ${RELOCATING+${OTHER_BSS_END_SYMBOLS}} ${RELOCATING+. = ALIGN(${ALIGNMENT});} - ${RELOCATING+_end = .;} ${RELOCATING+${OTHER_END_SYMBOLS}} + ${RELOCATING+_end = .;} ${RELOCATING+PROVIDE (end = .);} /* Stabs debugging sections. */ diff --git a/ld/scripttempl/xstormy16.sc b/ld/scripttempl/xstormy16.sc index 92a80ab..6b0ab60 100644 --- a/ld/scripttempl/xstormy16.sc +++ b/ld/scripttempl/xstormy16.sc @@ -7,7 +7,6 @@ # OTHER_TEXT_SECTIONS - these get put in .text when relocating # OTHER_READWRITE_SECTIONS - other than .data .bss .ctors .sdata ... # (e.g., .PARISC.global) -# OTHER_BSS_SECTIONS - other than .bss .sbss ... # OTHER_SECTIONS - at the end # EXECUTABLE_SYMBOLS - symbols that must be defined for an # executable (e.g., _DYNAMIC_LINK) @@ -144,11 +143,11 @@ SECTIONS .bss section disappears because there are no input sections. */ ${RELOCATING+. = ALIGN(${ALIGNMENT});} } > RAM - ${RELOCATING+${OTHER_BSS_SECTIONS}} + ${RELOCATING+${OTHER_BSS_END_SYMBOLS}} ${RELOCATING+. = ALIGN(${ALIGNMENT});} + ${RELOCATING+${OTHER_END_SYMBOLS}} ${RELOCATING+_end = .;} ${RELOCATING+__stack = .;} - ${RELOCATING+${OTHER_END_SYMBOLS}} ${RELOCATING+PROVIDE (end = .);} /* Read-only sections in ROM. */ |