summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2005-03-17 22:54:03 +0000
committerAlan Modra <amodra@bigpond.net.au>2005-03-17 22:54:03 +0000
commit3aedc18eb49d54788bef1933268398183a87554f (patch)
treeec9e3c3b788a3c12e98cc78fd8a4190810db970e
parentc8417aca200d88473e06ee4c6e7a5519c49c0074 (diff)
downloadbinutils-redhat-3aedc18eb49d54788bef1933268398183a87554f.tar.gz
* scripttempl/elf.sc: When CREATE_SHLIB, put .sdata2 and .sbss2
input sections into .sdata and .sbss output respectively.
-rw-r--r--ld/ChangeLog5
-rw-r--r--ld/scripttempl/elf.sc4
2 files changed, 7 insertions, 2 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index ee50c1c9ef..be76c92e4f 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2005-03-18 Alan Modra <amodra@bigpond.net.au>
+
+ * scripttempl/elf.sc: When CREATE_SHLIB, put .sdata2 and .sbss2
+ input sections into .sdata and .sbss output respectively.
+
2005-03-16 David Heine <dlheine@tensilica.com>
Bob Wilson <bob.wilson@acm.org>
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
index e92bd6c547..96b7829d28 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -120,6 +120,7 @@ if test -z "${NO_SMALL_DATA}"; then
{
${RELOCATING+PROVIDE (__sbss_start = .);}
${RELOCATING+PROVIDE (___sbss_start = .);}
+ ${CREATE_SHLIB+*(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)}
*(.dynsbss)
*(.sbss${RELOCATING+ .sbss.* .gnu.linkonce.sb.*})
*(.scommon)
@@ -133,6 +134,7 @@ if test -z "${NO_SMALL_DATA}"; then
.sdata ${RELOCATING-0} :
{
${RELOCATING+${SDATA_START_SYMBOLS}}
+ ${CREATE_SHLIB+*(.sdata2 .sdata2.* .gnu.linkonce.s2.*)}
*(.sdata${RELOCATING+ .sdata.* .gnu.linkonce.s.*})
}"
SDATA2=".sdata2 ${RELOCATING-0} : { *(.sdata2${RELOCATING+ .sdata2.* .gnu.linkonce.s2.*}) }"
@@ -383,8 +385,6 @@ cat <<EOF
${RELOCATING+${OTHER_GOT_SYMBOLS}}
${NO_SMALL_DATA-${GOT}}
${OTHER_GOT_SECTIONS}
- ${CREATE_SHLIB+${SDATA2}}
- ${CREATE_SHLIB+${SBSS2}}
${SDATA}
${OTHER_SDATA_SECTIONS}
${RELOCATING+_edata = .;}