From 0609b76739f5b259b1fed33d05289d15c586a3a2 Mon Sep 17 00:00:00 2001 From: Yufeng Zhang Date: Wed, 26 Jun 2013 10:59:17 +0000 Subject: [PATCH] [AArch64, ILP32] Really add ld/emulparams/aarch64elf32.sh that was missed from the previous commit ld/ * emulparams/aarch64elf32.sh: New file. --- ld/ChangeLog | 4 ++++ ld/emulparams/aarch64elf32.sh | 36 +++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 ld/emulparams/aarch64elf32.sh diff --git a/ld/ChangeLog b/ld/ChangeLog index b6eb7716790..a42de634d0b 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,7 @@ +2013-06-26 Yufeng Zhang + + * emulparams/aarch64elf32.sh: New file. + 2013-06-26 Yufeng Zhang * Makefile.am (ALL_64_EMULATION_SOURCES): Add eaarch64elf32b.c. diff --git a/ld/emulparams/aarch64elf32.sh b/ld/emulparams/aarch64elf32.sh new file mode 100644 index 00000000000..5fe08e247f6 --- /dev/null +++ b/ld/emulparams/aarch64elf32.sh @@ -0,0 +1,36 @@ +ARCH="aarch64:ilp32" +MACHINE= +NOP=0 + +SCRIPT_NAME=elf +ELFSIZE=32 +OUTPUT_FORMAT="elf32-littleaarch64" +BIG_OUTPUT_FORMAT="elf32-bigaarch64" +LITTLE_OUTPUT_FORMAT="elf32-littleaarch64" +NO_REL_RELOCS=yes + +TEMPLATE_NAME=elf32 +EXTRA_EM_FILE=aarch64elf + +GENERATE_SHLIB_SCRIPT=yes +MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" + +ENTRY=_start +EMBEDDED=yes +SEPARATE_GOTPLT=24 +TEXT_START_ADDR=0x00400000 + +DATA_START_SYMBOLS='__data_start = . ;'; + +# AArch64 does not support .s* sections. +NO_SMALL_DATA=yes + +OTHER_BSS_SYMBOLS='__bss_start__ = .;' +OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;' +OTHER_END_SYMBOLS='__end__ = . ;' + +OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }' +ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }' + +# This sets the stack to the top of the simulator memory (2^19 bytes). +STACK_ADDR=0x80000 -- 2.30.2