diff options
author | Alan Modra <amodra@gmail.com> | 2005-08-03 05:09:49 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2005-08-03 05:09:49 +0000 |
commit | 9f4fb50211b7f57d241f911223874a1d16ae9c1a (patch) | |
tree | 43bc208c3971dccafda58bb08ded35d9a7600b44 | |
parent | 24ceaeafdb8b043316243907a8911b5152ca2543 (diff) | |
download | gdb-9f4fb50211b7f57d241f911223874a1d16ae9c1a.zip gdb-9f4fb50211b7f57d241f911223874a1d16ae9c1a.tar.gz gdb-9f4fb50211b7f57d241f911223874a1d16ae9c1a.tar.bz2 |
* ldlang.c (exp_init_os): Handle etree_provide.
* emulparams/armelf.sh (OTHER_END_SYMBOLS): Rename from..
(OTHER_BSS_END_SYMBOLS): ..this.
* emulparams/armelf_linux.sh: Likewise.
* emulparams/armnto.sh: Likewise.
* emulparams/criself.sh: Likewise.
* emulparams/crislinux.sh: Likewise.
* emulparams/elf32frv.sh: Likewise.
* emulparams/elf32mcore.sh: Likewise.
* emulparams/elf32ppc.sh: Likewise.
* emulparams/elf32ppclinux.sh: Likewise.
* emulparams/hppa64linux.sh: Likewise.
* scripttempl/armbpabi.sc: Substitute $OTHER_END_SYMBOLS, not
$OTHER_BSS_END_SYMBOLS.
* scripttempl/elf32sh-symbian.sc: Likewise.
* scripttempl/elf_chaos.sc: Likewise.
* scripttempl/iq2000.sc: Likewise.
* scripttempl/xstormy16.sc: Likewise.
* scripttempl/elf.sc: Likewise. Delete __bss_start comment.
* scripttempl/elfxtensa.sc: Likewise.
-rw-r--r-- | ld/ChangeLog | 23 | ||||
-rw-r--r-- | ld/emulparams/armelf.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/armelf_linux.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/armnto.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/criself.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/crislinux.sh | 2 | ||||
-rwxr-xr-x | ld/emulparams/elf32frv.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/elf32mcore.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/elf32ppc.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/elf32ppclinux.sh | 2 | ||||
-rw-r--r-- | ld/emulparams/hppa64linux.sh | 4 | ||||
-rw-r--r-- | ld/ldlang.c | 1 | ||||
-rw-r--r-- | ld/scripttempl/armbpabi.sc | 2 | ||||
-rw-r--r-- | ld/scripttempl/elf.sc | 4 | ||||
-rw-r--r-- | ld/scripttempl/elf32sh-symbian.sc | 2 | ||||
-rw-r--r-- | ld/scripttempl/elf_chaos.sc | 2 | ||||
-rw-r--r-- | ld/scripttempl/elfxtensa.sc | 4 | ||||
-rw-r--r-- | ld/scripttempl/iq2000.sc | 2 | ||||
-rw-r--r-- | ld/scripttempl/xstormy16.sc | 2 |
19 files changed, 42 insertions, 22 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 710bf8d..14f2bf4 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,26 @@ +2005-08-03 Alan Modra <amodra@bigpond.net.au> + + * ldlang.c (exp_init_os): Handle etree_provide. + * emulparams/armelf.sh (OTHER_END_SYMBOLS): Rename from.. + (OTHER_BSS_END_SYMBOLS): ..this. + * emulparams/armelf_linux.sh: Likewise. + * emulparams/armnto.sh: Likewise. + * emulparams/criself.sh: Likewise. + * emulparams/crislinux.sh: Likewise. + * emulparams/elf32frv.sh: Likewise. + * emulparams/elf32mcore.sh: Likewise. + * emulparams/elf32ppc.sh: Likewise. + * emulparams/elf32ppclinux.sh: Likewise. + * emulparams/hppa64linux.sh: Likewise. + * scripttempl/armbpabi.sc: Substitute $OTHER_END_SYMBOLS, not + $OTHER_BSS_END_SYMBOLS. + * scripttempl/elf32sh-symbian.sc: Likewise. + * scripttempl/elf_chaos.sc: Likewise. + * scripttempl/iq2000.sc: Likewise. + * scripttempl/xstormy16.sc: Likewise. + * scripttempl/elf.sc: Likewise. Delete __bss_start comment. + * scripttempl/elfxtensa.sc: Likewise. + 2005-07-29 Nick Clifton <nickc@redhat.com> * ldmain.c (main): Allow -shared and -static to be used together. diff --git a/ld/emulparams/armelf.sh b/ld/emulparams/armelf.sh index 497e1cc..c3d5bd0 100644 --- a/ld/emulparams/armelf.sh +++ b/ld/emulparams/armelf.sh @@ -8,7 +8,7 @@ TEMPLATE_NAME=elf32 EXTRA_EM_FILE=armelf OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)' OTHER_BSS_SYMBOLS='__bss_start__ = .;' -OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;' +OTHER_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __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 6331d1e..fd927c5 100644 --- a/ld/emulparams/armelf_linux.sh +++ b/ld/emulparams/armelf_linux.sh @@ -13,7 +13,7 @@ GENERATE_PIE_SCRIPT=yes DATA_START_SYMBOLS='__data_start = . ;'; OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)' OTHER_BSS_SYMBOLS='__bss_start__ = .;' -OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;' +OTHER_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __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 7e4644b..7e468c0 100644 --- a/ld/emulparams/armnto.sh +++ b/ld/emulparams/armnto.sh @@ -8,7 +8,7 @@ TEMPLATE_NAME=elf32 EXTRA_EM_FILE=armelf OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)' OTHER_BSS_SYMBOLS='__bss_start__ = .;' -OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;' +OTHER_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;' DATA_START_SYMBOLS='__data_start = . ;'; diff --git a/ld/emulparams/criself.sh b/ld/emulparams/criself.sh index 8ac21f9..d63424d 100644 --- a/ld/emulparams/criself.sh +++ b/ld/emulparams/criself.sh @@ -42,7 +42,7 @@ 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_BSS_END_SYMBOLS=' +OTHER_END_SYMBOLS=' PROVIDE (__Ebss = .); PROVIDE (__end = .); __Sbss = ADDR (.bss); diff --git a/ld/emulparams/crislinux.sh b/ld/emulparams/crislinux.sh index e54f5fb..8d7ba5f 100644 --- a/ld/emulparams/crislinux.sh +++ b/ld/emulparams/crislinux.sh @@ -28,7 +28,7 @@ DATA_START_SYMBOLS='PROVIDE (__Sdata = .);' # Smuggle an "OTHER_DATA_END_SYMBOLS" here. OTHER_SDATA_SECTIONS="${RELOCATING+PROVIDE (__Edata = .);}" OTHER_BSS_SYMBOLS='PROVIDE (__Sbss = .);' -OTHER_BSS_END_SYMBOLS='PROVIDE (__Ebss = .);' +OTHER_END_SYMBOLS='PROVIDE (__Ebss = .);' # Also add the other symbols provided for rsim/xsim and elinux. OTHER_END_SYMBOLS=' diff --git a/ld/emulparams/elf32frv.sh b/ld/emulparams/elf32frv.sh index 042ed8c..16773b7 100755 --- a/ld/emulparams/elf32frv.sh +++ b/ld/emulparams/elf32frv.sh @@ -7,7 +7,7 @@ MAXPAGESIZE=256 ENTRY=_start EMBEDDED=yes OTHER_EXCLUDE_FILES='*frvend.o' -OTHER_BSS_END_SYMBOLS='__end = .;' +OTHER_END_SYMBOLS='__end = .;' DATA_START_SYMBOLS='__data_start = . ;' STACK_ADDR=0x200000 NOP=0x80000000 diff --git a/ld/emulparams/elf32mcore.sh b/ld/emulparams/elf32mcore.sh index 930a9c3..242af81 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_BSS_END_SYMBOLS="__bss_end__ = . ;" +OTHER_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/elf32ppc.sh b/ld/emulparams/elf32ppc.sh index b5abcbf..e5b2252 100644 --- a/ld/emulparams/elf32ppc.sh +++ b/ld/emulparams/elf32ppc.sh @@ -23,7 +23,7 @@ PLT=".plt ${RELOCATING-0} : SPECIAL { *(.plt) }" GOTPLT="${PLT}" OTHER_TEXT_SECTIONS="*(.glink)" EXECUTABLE_SYMBOLS='PROVIDE (__stack = 0); PROVIDE (___stack = 0);' -OTHER_BSS_END_SYMBOLS='__end = .;' +OTHER_END_SYMBOLS="__end = .;" OTHER_RELRO_SECTIONS=" .fixup ${RELOCATING-0} : { *(.fixup) } .got1 ${RELOCATING-0} : { *(.got1) } diff --git a/ld/emulparams/elf32ppclinux.sh b/ld/emulparams/elf32ppclinux.sh index 9642d4a..262731a 100644 --- a/ld/emulparams/elf32ppclinux.sh +++ b/ld/emulparams/elf32ppclinux.sh @@ -1,7 +1,7 @@ . ${srcdir}/emulparams/elf32ppc.sh TEXT_START_ADDR=0x10000000 unset EXECUTABLE_SYMBOLS -unset OTHER_BSS_END_SYMBOLS +unset OTHER_END_SYMBOLS test -z "${RELOCATING}" || OTHER_SECTIONS="/DISCARD/ : { *(.fixup) }" OTHER_RELRO_SECTIONS=" .got1 ${RELOCATING-0} : { *(.got1) } diff --git a/ld/emulparams/hppa64linux.sh b/ld/emulparams/hppa64linux.sh index 6874c45..3e0e3e7 100644 --- a/ld/emulparams/hppa64linux.sh +++ b/ld/emulparams/hppa64linux.sh @@ -34,8 +34,8 @@ OTHER_BSS_SECTIONS=" .hbss ${RELOCATING-0} : { *(.hbss) } .tbss ${RELOCATING-0} : { *(.tbss) } " -#OTHER_BSS_END_SYMBOLS='PROVIDE (__TLS_SIZE = SIZEOF (.tbss));' -OTHER_BSS_END_SYMBOLS=' +#OTHER_END_SYMBOLS='PROVIDE (__TLS_SIZE = SIZEOF (.tbss));' +OTHER_END_SYMBOLS=' PROVIDE (__TLS_SIZE = 0); PROVIDE (__TLS_INIT_SIZE = 0); PROVIDE (__TLS_INIT_START = 0); diff --git a/ld/ldlang.c b/ld/ldlang.c index 7cdb7c8..038af17 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -1616,6 +1616,7 @@ exp_init_os (etree_type *exp) switch (exp->type.node_class) { case etree_assign: + case etree_provide: exp_init_os (exp->assign.src); break; diff --git a/ld/scripttempl/armbpabi.sc b/ld/scripttempl/armbpabi.sc index 28bac1f..fb4656f 100644 --- a/ld/scripttempl/armbpabi.sc +++ b/ld/scripttempl/armbpabi.sc @@ -296,7 +296,7 @@ cat <<EOF ${OTHER_BSS_SECTIONS} ${RELOCATING+. = ALIGN(${ALIGNMENT});} ${RELOCATING+_end = .;} - ${RELOCATING+${OTHER_BSS_END_SYMBOLS}} + ${RELOCATING+${OTHER_END_SYMBOLS}} ${RELOCATING+PROVIDE (end = .);} ${RELOCATING+${DATA_SEGMENT_END}} diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc index e1ac9e6..741d529 100644 --- a/ld/scripttempl/elf.sc +++ b/ld/scripttempl/elf.sc @@ -415,8 +415,6 @@ cat <<EOF ${SDATA} ${OTHER_SDATA_SECTIONS} ${RELOCATING+${DATA_END_SYMBOLS-_edata = .; PROVIDE (edata = .);}} - /* __bss_start is used by _bfd_elf_provide_section_bound_symbols in - elflink.c. */ ${RELOCATING+__bss_start = .;} ${RELOCATING+${OTHER_BSS_SYMBOLS}} ${SBSS} @@ -435,9 +433,9 @@ cat <<EOF } ${LBSS} ${OTHER_BSS_SECTIONS} - ${RELOCATING+${OTHER_BSS_END_SYMBOLS}} ${LARGE_SECTIONS} ${RELOCATING+. = ALIGN(${ALIGNMENT});} + ${RELOCATING+${OTHER_END_SYMBOLS}} ${RELOCATING+_end = .;} ${RELOCATING+PROVIDE (end = .);} ${RELOCATING+${DATA_SEGMENT_END}} diff --git a/ld/scripttempl/elf32sh-symbian.sc b/ld/scripttempl/elf32sh-symbian.sc index abc75d3..7f177c9 100644 --- a/ld/scripttempl/elf32sh-symbian.sc +++ b/ld/scripttempl/elf32sh-symbian.sc @@ -260,7 +260,7 @@ SECTIONS ${OTHER_BSS_SECTIONS} ${RELOCATING+. = ALIGN(${ALIGNMENT});} ${RELOCATING+_end = .;} - ${RELOCATING+${OTHER_BSS_END_SYMBOLS}} + ${RELOCATING+${OTHER_END_SYMBOLS}} ${RELOCATING+PROVIDE (end = .);} ${RELOCATING+${DATA_SEGMENT_END}} diff --git a/ld/scripttempl/elf_chaos.sc b/ld/scripttempl/elf_chaos.sc index 3581289..11e7291 100644 --- a/ld/scripttempl/elf_chaos.sc +++ b/ld/scripttempl/elf_chaos.sc @@ -301,7 +301,7 @@ cat <<EOF ${OTHER_BSS_SECTIONS} ${RELOCATING+. = ALIGN(${ALIGNMENT});} ${RELOCATING+_end = .;} - ${RELOCATING+${OTHER_BSS_END_SYMBOLS}} + ${RELOCATING+${OTHER_END_SYMBOLS}} ${RELOCATING+PROVIDE (end = .);} /* Stabs debugging sections. */ diff --git a/ld/scripttempl/elfxtensa.sc b/ld/scripttempl/elfxtensa.sc index 94ebe46..6b594c6 100644 --- a/ld/scripttempl/elfxtensa.sc +++ b/ld/scripttempl/elfxtensa.sc @@ -390,8 +390,6 @@ cat <<EOF ${SDATA} ${OTHER_SDATA_SECTIONS} ${RELOCATING+${DATA_END_SYMBOLS-_edata = .; PROVIDE (edata = .);}} - /* __bss_start is used by _bfd_elf_provide_section_bound_symbols in - elflink.c. */ ${RELOCATING+__bss_start = .;} ${RELOCATING+${OTHER_BSS_SYMBOLS}} ${SBSS} @@ -409,7 +407,7 @@ cat <<EOF ${OTHER_BSS_SECTIONS} ${RELOCATING+. = ALIGN(${ALIGNMENT});} ${RELOCATING+_end = .;} - ${RELOCATING+${OTHER_BSS_END_SYMBOLS}} + ${RELOCATING+${OTHER_END_SYMBOLS}} ${RELOCATING+PROVIDE (end = .);} ${RELOCATING+${DATA_SEGMENT_END}} diff --git a/ld/scripttempl/iq2000.sc b/ld/scripttempl/iq2000.sc index db3a597..ddff5ff 100644 --- a/ld/scripttempl/iq2000.sc +++ b/ld/scripttempl/iq2000.sc @@ -391,7 +391,7 @@ cat <<EOF ${RELOCATING+${OTHER_BSS_SECTIONS}} ${RELOCATING+. = ALIGN(${ALIGNMENT});} ${RELOCATING+_end = .;} - ${RELOCATING+${OTHER_BSS_END_SYMBOLS}} + ${RELOCATING+${OTHER_END_SYMBOLS}} ${RELOCATING+PROVIDE (end = .);} /* Stabs debugging sections. */ diff --git a/ld/scripttempl/xstormy16.sc b/ld/scripttempl/xstormy16.sc index 21c8f61..92a80ab 100644 --- a/ld/scripttempl/xstormy16.sc +++ b/ld/scripttempl/xstormy16.sc @@ -148,7 +148,7 @@ SECTIONS ${RELOCATING+. = ALIGN(${ALIGNMENT});} ${RELOCATING+_end = .;} ${RELOCATING+__stack = .;} - ${RELOCATING+${OTHER_BSS_END_SYMBOLS}} + ${RELOCATING+${OTHER_END_SYMBOLS}} ${RELOCATING+PROVIDE (end = .);} /* Read-only sections in ROM. */ |