aboutsummaryrefslogtreecommitdiff
path: root/ld/emulparams
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
commit8d6d53d42725d34e9f3aa51442a0741b98163fa2 (patch)
tree47bd363ed05760ae55c4928ca9eac237c761f4fb /ld/emulparams
parent6ec7057aa5cdbf5b1544ce29d0df8d0d6f603179 (diff)
downloadbinutils-8d6d53d42725d34e9f3aa51442a0741b98163fa2.zip
binutils-8d6d53d42725d34e9f3aa51442a0741b98163fa2.tar.gz
binutils-8d6d53d42725d34e9f3aa51442a0741b98163fa2.tar.bz2
* 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')
-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 093c8df..47a0bb0 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