aboutsummaryrefslogtreecommitdiff
path: root/ld/scripttempl/elf.sc
diff options
context:
space:
mode:
authorDave Anglin <dave.anglin@nrc.ca>2004-07-05 20:00:13 +0000
committerDave Anglin <dave.anglin@nrc.ca>2004-07-05 20:00:13 +0000
commitb71a518155c0689c717a08219acd38bad4e9d672 (patch)
tree6c89a35a6ec9ea1730295f5441b658a696215bfd /ld/scripttempl/elf.sc
parent7561d4504fb545c8c7a02bfa5cefb57f1b4f697c (diff)
downloadgdb-b71a518155c0689c717a08219acd38bad4e9d672.zip
gdb-b71a518155c0689c717a08219acd38bad4e9d672.tar.gz
gdb-b71a518155c0689c717a08219acd38bad4e9d672.tar.bz2
* emulparams/hppa64linux.sh: Define PLT_BEFORE_GOT.
* emulparams/hppalinux.sh: Likewise. * scripttempl/elf.sc: Place .plt just before .got when .plt is in data segment and PLT_BEFORE_GOT is defined.
Diffstat (limited to 'ld/scripttempl/elf.sc')
-rw-r--r--ld/scripttempl/elf.sc4
1 files changed, 3 insertions, 1 deletions
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
index 93d849e..1e85777 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -26,6 +26,7 @@
# OTHER_BSS_SYMBOLS - symbols that appear at the start of the
# .bss section besides __bss_start.
# DATA_PLT - .plt should be in data segment, not text segment.
+# PLT_BEFORE_GOT - .plt just before .got when .plt is in data segement.
# BSS_PLT - .plt should be in bss segment
# TEXT_DYNAMIC - .dynamic in text segment, not data segment.
# EMBEDDED - whether this is for an embedded system.
@@ -358,7 +359,7 @@ cat <<EOF
${RELOCATING+${DATA_SEGMENT_RELRO_END}}
${NO_SMALL_DATA+${RELRO_NOW-${SEPARATE_GOTPLT-${GOT}}}}
- ${DATA_PLT+${PLT}}
+ ${DATA_PLT+${PLT_BEFORE_GOT-${PLT}}}
.data ${RELOCATING-0} :
{
@@ -370,6 +371,7 @@ cat <<EOF
.data1 ${RELOCATING-0} : { *(.data1) }
${WRITABLE_RODATA+${RODATA}}
${OTHER_READWRITE_SECTIONS}
+ ${DATA_PLT+${PLT_BEFORE_GOT+${PLT}}}
${RELOCATING+${OTHER_GOT_SYMBOLS}}
${NO_SMALL_DATA-${GOT}}
${OTHER_GOT_SECTIONS}