summaryrefslogtreecommitdiff
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
commit2dfa020d888e8b8ad28e97986e370fbe2d0ea091 (patch)
tree38ec11a4f1c5ff6552ea7a108670f028628b6dc7
parent57830d5740e862a6ba3df86b57822f995cb653ed (diff)
downloadbinutils-redhat-2dfa020d888e8b8ad28e97986e370fbe2d0ea091.tar.gz
* 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.
-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 c957555ab9..0778090515 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 6e01c20b08..6874c4578c 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 08309b3dbf..5281fa767a 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 93d849eab5..1e857773dc 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}