aboutsummaryrefslogtreecommitdiff
path: root/ld
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
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')
-rw-r--r--ld/ChangeLog7
-rw-r--r--ld/emulparams/hppa64linux.sh1
-rw-r--r--ld/emulparams/hppalinux.sh1
-rw-r--r--ld/scripttempl/elf.sc4
4 files changed, 12 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index c957555..0778090 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,10 @@
+2004-07-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * 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.
+
2004-07-03 Aaron W. LaFramboise <aaron98wiridge9@aaronwl.com>
* ld.texinfo (WIN32): Document PE weak symbols.
diff --git a/ld/emulparams/hppa64linux.sh b/ld/emulparams/hppa64linux.sh
index 6e01c20..6874c45 100644
--- a/ld/emulparams/hppa64linux.sh
+++ b/ld/emulparams/hppa64linux.sh
@@ -53,6 +53,7 @@ OTHER_GOT_RELOC_SECTIONS="
DATA_START_SYMBOLS='. += 16;'
DATA_PLT=
+PLT_BEFORE_GOT=
# .dynamic should be at the start of the .text segment.
TEXT_DYNAMIC=
diff --git a/ld/emulparams/hppalinux.sh b/ld/emulparams/hppalinux.sh
index 08309b3..5281fa7 100644
--- a/ld/emulparams/hppalinux.sh
+++ b/ld/emulparams/hppalinux.sh
@@ -15,6 +15,7 @@ OTHER_READONLY_SECTIONS="
.PARISC.unwind ${RELOCATING-0} : { *(.PARISC.unwind) }"
DATA_START_SYMBOLS='PROVIDE ($global$ = .);'
DATA_PLT=
+PLT_BEFORE_GOT=
GENERATE_SHLIB_SCRIPT=yes
TEMPLATE_NAME=elf32
EXTRA_EM_FILE=hppaelf
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}