diff options
author | Andrew Turner <andrew@freebsd.org> | 2015-04-02 15:07:27 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2015-04-02 15:07:27 +0100 |
commit | 15c7659fd125da7d08cfe0f82f1795ab88f897d2 (patch) | |
tree | aab03e0f69ded33791a83bc7d8682912a3f31811 /ld/emulparams | |
parent | c1baaddf8861aea666b84baeb4746caff51a579d (diff) | |
download | gdb-15c7659fd125da7d08cfe0f82f1795ab88f897d2.zip gdb-15c7659fd125da7d08cfe0f82f1795ab88f897d2.tar.gz gdb-15c7659fd125da7d08cfe0f82f1795ab88f897d2.tar.bz2 |
Add support for configuring an aarch64-freebsd target.
ld * Makefile.am: Add FreeBSD aarch64 files.
* Makefile.in: Regenerate.
* configure.tgt: Add aarch64-*-freebsd* target triple.
* emulparams/aarch64fbsd.sh: New file.
* emulparams/aarch64fbsdb.sh: New file.
bfd * config.bfd: Add aarch64-*-freebsd* target triple.
Diffstat (limited to 'ld/emulparams')
-rw-r--r-- | ld/emulparams/aarch64fbsd.sh | 37 | ||||
-rw-r--r-- | ld/emulparams/aarch64fbsdb.sh | 2 |
2 files changed, 39 insertions, 0 deletions
diff --git a/ld/emulparams/aarch64fbsd.sh b/ld/emulparams/aarch64fbsd.sh new file mode 100644 index 0000000..b92bde9 --- /dev/null +++ b/ld/emulparams/aarch64fbsd.sh @@ -0,0 +1,37 @@ +ARCH=aarch64 +MACHINE= +NOP=0 + +SCRIPT_NAME=elf +ELFSIZE=64 +OUTPUT_FORMAT="elf64-littleaarch64" +BIG_OUTPUT_FORMAT="elf64-bigaarch64" +LITTLE_OUTPUT_FORMAT="elf64-littleaarch64" +NO_REL_RELOCS=yes + +TEMPLATE_NAME=elf32 +EXTRA_EM_FILE=aarch64elf + +GENERATE_SHLIB_SCRIPT=yes +GENERATE_PIE_SCRIPT=yes + +MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" +COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" +SEPARATE_GOTPLT=24 +IREL_IN_PLT= + +TEXT_START_ADDR=0x400000 + +DATA_START_SYMBOLS='PROVIDE (__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)) }' +# Ensure each PLT entry is aligned to a cache line. +PLT=".plt ${RELOCATING-0} : ALIGN(16) { *(.plt)${IREL_IN_PLT+ *(.iplt)} }" diff --git a/ld/emulparams/aarch64fbsdb.sh b/ld/emulparams/aarch64fbsdb.sh new file mode 100644 index 0000000..2c55dde --- /dev/null +++ b/ld/emulparams/aarch64fbsdb.sh @@ -0,0 +1,2 @@ +. ${srcdir}/emulparams/aarch64fbsd.sh +OUTPUT_FORMAT="elf64-bigaarch64" |