aboutsummaryrefslogtreecommitdiff
path: root/ld/scripttempl
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2002-03-05 11:56:23 +0000
committerJakub Jelinek <jakub@redhat.com>2002-03-05 11:56:23 +0000
commit2d13d8c5ee27041f0eac45b45a7194e91fcf830a (patch)
tree09fff4c8ac795e58841abc1b5de8f090331124b9 /ld/scripttempl
parentb5040d49af2e28bfa09f4a40f18aa62788e8df49 (diff)
downloadgdb-2d13d8c5ee27041f0eac45b45a7194e91fcf830a.zip
gdb-2d13d8c5ee27041f0eac45b45a7194e91fcf830a.tar.gz
gdb-2d13d8c5ee27041f0eac45b45a7194e91fcf830a.tar.bz2
* scripttempl/elf.sc: Only use DATA_SEGMENT_END() together with
DATA_SEGMENT_ALIGN.
Diffstat (limited to 'ld/scripttempl')
-rw-r--r--ld/scripttempl/elf.sc8
1 files changed, 6 insertions, 2 deletions
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
index a6bc4bc..f205a6f 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -70,9 +70,13 @@ if [ -z "$MACHINE" ]; then OUTPUT_ARCH=${ARCH}; else OUTPUT_ARCH=${ARCH}:${MACHI
test -z "${ELFSIZE}" && ELFSIZE=32
test -z "${ALIGNMENT}" && ALIGNMENT="${ELFSIZE} / 8"
test "$LD_FLAG" = "N" && DATA_ADDR=.
+test -n "$CREATE_SHLIB" && test -n "$SHLIB_DATA_ADDR" && COMMONPAGESIZE=""
+test -z "$CREATE_SHLIB" && test -n "$DATA_ADDR" && COMMONPAGESIZE=""
DATA_SEGMENT_ALIGN="ALIGN(${MAXPAGESIZE}) + (. & (${MAXPAGESIZE} - 1))"
-if [ -n "${COMMONPAGESIZE}" ]; then
+DATA_SEGMENT_END=""
+if test -n "${COMMONPAGESIZE}"; then
DATA_SEGMENT_ALIGN="DATA_SEGMENT_ALIGN(${MAXPAGESIZE}, ${COMMONPAGESIZE})"
+ DATA_SEGMENT_END=". = DATA_SEGMENT_END (.);"
fi
INTERP=".interp ${RELOCATING-0} : { *(.interp) }"
PLT=".plt ${RELOCATING-0} : { *(.plt) }"
@@ -337,7 +341,7 @@ cat <<EOF
${RELOCATING+_end = .;}
${RELOCATING+${OTHER_BSS_END_SYMBOLS}}
${RELOCATING+PROVIDE (end = .);}
- ${COMMONPAGESIZE+${RELOCATING+. = DATA_SEGMENT_END (.);}}
+ ${RELOCATING+${DATA_SEGMENT_END}}
/* Stabs debugging sections. */
.stab 0 : { *(.stab) }