summaryrefslogtreecommitdiff
path: root/ld/emulparams/elf64alpha.sh
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2005-05-29 23:16:09 +0000
committerRichard Henderson <rth@redhat.com>2005-05-29 23:16:09 +0000
commit8e4164abba1329208fcf0b4216ac92ece77bde08 (patch)
treeb4df1b36d471c72a9b76be9af61bf8d35d9d5d1a /ld/emulparams/elf64alpha.sh
parente6ed0f0fced317d2c74968f94dcac89ebe0fdef6 (diff)
downloadbinutils-redhat-8e4164abba1329208fcf0b4216ac92ece77bde08.tar.gz
* emulparams/elf64alpha.sh (PLT): New.
(TEXT_PLT): New. * emultempl/alphaelf.em (disable_relaxation): New. (limit_32bit): Rename from elf64alpha_32bit; update all users. (elf64_alpha_use_secureplt): Declare. (bfd_elf64_alpha_vec, bfd_elf64_alpha_freebsd_vec): Declare. (alpha_after_open): New. (alpha_before_allocation): New. (OPTION_NO_RELAX, OPTION_SECUREPLT, OPTION_NO_SECUREPLT): New. (PARSE_AND_LIST_LONGOPTS): Include them. (PARSE_AND_LIST_OPTIONS): Likewise. (PARSE_AND_LIST_ARGS_CASES): Likewise. (LDEMUL_AFTER_OPEN, LDEMUL_BEFORE_ALLOCATION): New. * scripttempl/elf.sc (TEXT_PLT): New. (PLT): Use it.
Diffstat (limited to 'ld/emulparams/elf64alpha.sh')
-rw-r--r--ld/emulparams/elf64alpha.sh8
1 files changed, 7 insertions, 1 deletions
diff --git a/ld/emulparams/elf64alpha.sh b/ld/emulparams/elf64alpha.sh
index 093c8dfd8e..47a0bb009c 100644
--- a/ld/emulparams/elf64alpha.sh
+++ b/ld/emulparams/elf64alpha.sh
@@ -12,7 +12,13 @@ ARCH=alpha
MACHINE=
GENERATE_SHLIB_SCRIPT=yes
GENERATE_PIE_SCRIPT=yes
-DATA_PLT=
+
+# Yes, we want duplicate .plt sections. The linker chooses the
+# appropriate one magically in alpha_after_open.
+PLT=".plt ${RELOCATING-0} : SPECIAL { *(.plt) }"
+DATA_PLT=yes
+TEXT_PLT=yes
+
# Note that the number is always big-endian, thus we have to
# reverse the digit string.
NOP=0x0000fe2f1f04ff47 # unop; nop