From 617a5ada88c7d4b6aae201ad5b295f3d2ef07c10 Mon Sep 17 00:00:00 2001 From: Christophe Lyon Date: Tue, 20 Mar 2018 10:54:26 +0100 Subject: [ARM] Add armelf_linux_fdpiceabi and armelfb_linux_fdpiceabi BFD backends MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Initial definition of these new backends. 2018-04-25 Christophe Lyon Mickaël Guêné bfd/ * config.bfd (arm*-*-linux-*): Add arm_elf32_fdpic_be_vec and arm_elf32_fdpic_le_vec to targ_selvecs. Accept arm*-*-uclinuxfdpiceabi. * configure.ac: Add support for arm_elf32_fdpic_be_vec and arm_elf32_fdpic_le_vec. * configure: Regenerate. * elf32-arm.c (struct elf32_arm_link_hash_table): Add fdpic_p. (elf32_arm_link_hash_table_create): Initialize fdpic_p. (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, TARGET_BIG_SYM) (TARGET_BIG_NAME, elf_match_priority): Define for FDPIC targets. (elf32_arm_fdpic_link_hash_table_create): New. * targets.c (_bfd_target_vector): Add arm_elf32_fdpic_be_vec and arm_elf32_fdpic_le_vec. ld/ * Makefile.am (ALL_EMULATION_SOURCES): Add earmelf_linux_fdpiceabi.c and earmelfb_linux_fdpiceabi.c. (earmelf_linux_fdpiceabi.c, earmelfb_linux_fdpiceabi.c): New rules. * Makefile.in: Regenerate. * configure.tgt (arm*-*-uclinuxfdpiceabi): Handle new target. * emulparams/armelf_linux_fdpiceabi.sh: New. * emulparams/armelfb_linux_fdpiceabi.sh: New. --- ld/emulparams/armelf_linux_fdpiceabi.sh | 13 +++++++++++++ ld/emulparams/armelfb_linux_fdpiceabi.sh | 2 ++ 2 files changed, 15 insertions(+) create mode 100644 ld/emulparams/armelf_linux_fdpiceabi.sh create mode 100644 ld/emulparams/armelfb_linux_fdpiceabi.sh (limited to 'ld/emulparams') diff --git a/ld/emulparams/armelf_linux_fdpiceabi.sh b/ld/emulparams/armelf_linux_fdpiceabi.sh new file mode 100644 index 0000000..104cf38 --- /dev/null +++ b/ld/emulparams/armelf_linux_fdpiceabi.sh @@ -0,0 +1,13 @@ +. ${srcdir}/emulparams/armelf_linux.sh + +OUTPUT_FORMAT="elf32-littlearm-fdpic" +BIG_OUTPUT_FORMAT="elf32-bigarm-fdpic" +LITTLE_OUTPUT_FORMAT="elf32-littlearm-fdpic" + +# Use the ARM ABI-compliant exception-handling sections. +OTHER_READONLY_SECTIONS=" + .ARM.extab ${RELOCATING-0} : { *(.ARM.extab${RELOCATING+* .gnu.linkonce.armextab.*}) } + ${RELOCATING+ PROVIDE_HIDDEN (__exidx_start = .); } + .ARM.exidx ${RELOCATING-0} : { *(.ARM.exidx${RELOCATING+* .gnu.linkonce.armexidx.*}) } + ${RELOCATING+ PROVIDE_HIDDEN (__exidx_end = .); }" + diff --git a/ld/emulparams/armelfb_linux_fdpiceabi.sh b/ld/emulparams/armelfb_linux_fdpiceabi.sh new file mode 100644 index 0000000..988ea7a --- /dev/null +++ b/ld/emulparams/armelfb_linux_fdpiceabi.sh @@ -0,0 +1,2 @@ +. ${srcdir}/emulparams/armelf_linux_fdpiceabi.sh +OUTPUT_FORMAT="elf32-bigarm-fdpic" -- cgit v1.1