aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2005-08-03 05:09:49 +0000
committerAlan Modra <amodra@gmail.com>2005-08-03 05:09:49 +0000
commit9f4fb50211b7f57d241f911223874a1d16ae9c1a (patch)
tree43bc208c3971dccafda58bb08ded35d9a7600b44
parent24ceaeafdb8b043316243907a8911b5152ca2543 (diff)
downloadgdb-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/ChangeLog23
-rw-r--r--ld/emulparams/armelf.sh2
-rw-r--r--ld/emulparams/armelf_linux.sh2
-rw-r--r--ld/emulparams/armnto.sh2
-rw-r--r--ld/emulparams/criself.sh2
-rw-r--r--ld/emulparams/crislinux.sh2
-rwxr-xr-xld/emulparams/elf32frv.sh2
-rw-r--r--ld/emulparams/elf32mcore.sh2
-rw-r--r--ld/emulparams/elf32ppc.sh2
-rw-r--r--ld/emulparams/elf32ppclinux.sh2
-rw-r--r--ld/emulparams/hppa64linux.sh4
-rw-r--r--ld/ldlang.c1
-rw-r--r--ld/scripttempl/armbpabi.sc2
-rw-r--r--ld/scripttempl/elf.sc4
-rw-r--r--ld/scripttempl/elf32sh-symbian.sc2
-rw-r--r--ld/scripttempl/elf_chaos.sc2
-rw-r--r--ld/scripttempl/elfxtensa.sc4
-rw-r--r--ld/scripttempl/iq2000.sc2
-rw-r--r--ld/scripttempl/xstormy16.sc2
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. */