8d6d53d427
(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.
27 lines
695 B
Bash
27 lines
695 B
Bash
ENTRY=_start
|
|
SCRIPT_NAME=elf
|
|
ELFSIZE=64
|
|
TEMPLATE_NAME=elf32
|
|
EXTRA_EM_FILE=alphaelf
|
|
OUTPUT_FORMAT="elf64-alpha"
|
|
TEXT_START_ADDR="0x120000000"
|
|
MAXPAGESIZE=0x10000
|
|
COMMONPAGESIZE=0x2000
|
|
NONPAGED_TEXT_START_ADDR="0x120000000"
|
|
ARCH=alpha
|
|
MACHINE=
|
|
GENERATE_SHLIB_SCRIPT=yes
|
|
GENERATE_PIE_SCRIPT=yes
|
|
|
|
# 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
|
|
|
|
OTHER_READONLY_SECTIONS="
|
|
.reginfo ${RELOCATING-0} : { *(.reginfo) }"
|