aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorKaz Kojima <kkojima@rr.iij4u.or.jp>2003-07-30 02:22:07 +0000
committerKaz Kojima <kkojima@rr.iij4u.or.jp>2003-07-30 02:22:07 +0000
commit8a1cb15917ef84f3edd35eaa2f044e2b1394d481 (patch)
tree1dc8d594eac0a5e480453f0d506882c9a5818180 /ld
parent37f4508be1aa888df790dd6e2756df165458792a (diff)
downloadfsf-binutils-gdb-8a1cb15917ef84f3edd35eaa2f044e2b1394d481.zip
fsf-binutils-gdb-8a1cb15917ef84f3edd35eaa2f044e2b1394d481.tar.gz
fsf-binutils-gdb-8a1cb15917ef84f3edd35eaa2f044e2b1394d481.tar.bz2
* emulparams/shelf.sh (OTHER_SECTIONS): Don't include .stack
section for shared library. * emulparams/shelf32.sh (OTHER_SECTIONS): Likewise. * emulparams/shelf64.sh (OTHER_SECTIONS): Likewise.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog7
-rw-r--r--ld/emulparams/shelf.sh5
-rw-r--r--ld/emulparams/shelf32.sh10
-rw-r--r--ld/emulparams/shelf64.sh4
4 files changed, 20 insertions, 6 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 33bdae1..3423494 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,10 @@
+2003-07-29 Kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+ * emulparams/shelf.sh (OTHER_SECTIONS): Don't include .stack
+ section for shared library.
+ * emulparams/shelf32.sh (OTHER_SECTIONS): Likewise.
+ * emulparams/shelf64.sh (OTHER_SECTIONS): Likewise.
+
2003-07-29 Stephane Carrez <stcarrez@nerim.fr>
* scripttempl/elfm68hc12.sc: Add gcc_except_table.
diff --git a/ld/emulparams/shelf.sh b/ld/emulparams/shelf.sh
index 5c0c9d6..ef0de46 100644
--- a/ld/emulparams/shelf.sh
+++ b/ld/emulparams/shelf.sh
@@ -23,10 +23,11 @@ DTOR_END='___dtors_end = .;'
# N.B. We can't use PROVIDE to set the default value in a symbol because
# the address is needed to place the .stack section, which in turn is needed
# to hold the sentinel value(s).
-OTHER_SECTIONS=" .stack ${RELOCATING-0}${RELOCATING+(DEFINED(_stack) ? _stack : 0x30000)} :
+test -z "$CREATE_SHLIB" && OTHER_SECTIONS=" .stack ${RELOCATING-0}${RELOCATING+(DEFINED(_stack) ? _stack : 0x30000)} :
{
${RELOCATING+_stack = .;}
*(.stack)
LONG(0xdeaddead)
}"
-
+# We do not need .stack for shared library.
+test -n "$CREATE_SHLIB" && OTHER_SECTIONS=""
diff --git a/ld/emulparams/shelf32.sh b/ld/emulparams/shelf32.sh
index 757f6a7..6582b02 100644
--- a/ld/emulparams/shelf32.sh
+++ b/ld/emulparams/shelf32.sh
@@ -39,14 +39,18 @@ DTOR_END='___dtors_end = .;'
# N.B. We can't use PROVIDE to set the default value in a symbol because
# the address is needed to place the .stack section, which in turn is needed
# to hold the sentinel value(s).
-OTHER_SECTIONS="
- .stack ${RELOCATING-0}${RELOCATING+(DEFINED(_stack) ? _stack : ALIGN (0x40000) + 0x40000)} :
+test -z "$CREATE_SHLIB" && OTHER_SECTIONS="
+ .stack ${RELOCATING-0}${RELOCATING+(DEFINED(_stack) ? _stack : ALIGN (0x40000) + 0x40000)} :
{
${RELOCATING+_stack = .;}
*(.stack)
LONG(0xdeaddead)
}
- .cranges 0 : { *(.cranges) }
+ .cranges 0 : { *(.cranges) }
+"
+# We do not need .stack for shared library.
+test -n "$CREATE_SHLIB" && OTHER_SECTIONS="
+ .cranges 0 : { *(.cranges) }
"
# We need to adjust sizes in the .cranges section after relaxation, so
diff --git a/ld/emulparams/shelf64.sh b/ld/emulparams/shelf64.sh
index 61a0c8b..eb1f6c7 100644
--- a/ld/emulparams/shelf64.sh
+++ b/ld/emulparams/shelf64.sh
@@ -6,7 +6,7 @@ EXTRA_EM_FILE=
. ${srcdir}/emulparams/shelf32.sh
# We do not need .cranges
-OTHER_SECTIONS="
+test -z "$CREATE_SHLIB" && OTHER_SECTIONS="
.stack ${RELOCATING-0}${RELOCATING+(DEFINED(_stack) ? _stack : ALIGN (0x40000) + 0x40000)} :
{
${RELOCATING+_stack = .;}
@@ -14,3 +14,5 @@ OTHER_SECTIONS="
LONG(0xdeaddead)
}
"
+# We do not need .stack for shared library.
+test -n "$CREATE_SHLIB" && OTHER_SECTIONS=""