forked from Imagelibrary/binutils-gdb
(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.
28 lines
695 B
Bash
28 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) }"
|