Commit | Line | Data |
---|---|---|
56244278 AP |
1 | ARCH="aarch64:ilp32" |
2 | MACHINE= | |
3 | NOP=0 | |
4 | ||
5 | SCRIPT_NAME=elf | |
6 | ELFSIZE=32 | |
7 | OUTPUT_FORMAT="elf32-littleaarch64" | |
8 | BIG_OUTPUT_FORMAT="elf32-bigaarch64" | |
9 | LITTLE_OUTPUT_FORMAT="elf32-littleaarch64" | |
10 | NO_REL_RELOCS=yes | |
11 | ||
12 | TEMPLATE_NAME=elf32 | |
13 | EXTRA_EM_FILE=aarch64elf | |
14 | ||
15 | GENERATE_SHLIB_SCRIPT=yes | |
16 | GENERATE_PIE_SCRIPT=yes | |
17 | ||
18 | MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" | |
19 | COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" | |
20 | SEPARATE_GOTPLT=12 | |
21 | IREL_IN_PLT= | |
22 | ||
23 | TEXT_START_ADDR=0x400000 | |
24 | ||
25 | DATA_START_SYMBOLS='PROVIDE (__data_start = .);'; | |
26 | ||
27 | # AArch64 does not support .s* sections. | |
28 | NO_SMALL_DATA=yes | |
29 | ||
30 | OTHER_BSS_SYMBOLS='__bss_start__ = .;' | |
31 | OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' | |
32 | OTHER_END_SYMBOLS='__end__ = . ;' | |
33 | ||
34 | OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }' | |
35 | ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }' | |
36 | # Ensure each PLT entry is aligned to a cache line. | |
37 | PLT=".plt ${RELOCATING-0} : ALIGN(16) { *(.plt)${IREL_IN_PLT+ *(.iplt)} }" | |
38 | ||
39 | # Linux modifies the default library search path to first include | |
40 | # a 32-bit specific directory. | |
41 | case "$target" in | |
42 | aarch64*-linux*) | |
43 | case "$EMULATION_NAME" in | |
7d0edd4b | 44 | aarch64linux*) LIBPATH_SUFFIX=ilp32 ;; |
56244278 AP |
45 | esac |
46 | ;; | |
47 | esac | |
7d0edd4b AP |
48 | |
49 | ELF_INTERPRETER_NAME=\"/lib/ld-linux-aarch64_ilp32.so.1\" |