aboutsummaryrefslogtreecommitdiff
path: root/bfd/config.bfd
diff options
context:
space:
mode:
authorJedidiah Thompson <wej22007@outlook.com>2022-10-19 10:57:12 +0200
committerZac Walker <zac.walker@linaro.org>2022-10-19 10:57:12 +0200
commitc60b3806799abf1d7f6cf5108a1b0e733a950b13 (patch)
treea203af8ed31ff48618e57a76a668faea3673fb0e /bfd/config.bfd
parent740a19d914a83423122fe81eec9508fa1dbb0559 (diff)
downloadgdb-c60b3806799abf1d7f6cf5108a1b0e733a950b13.zip
gdb-c60b3806799abf1d7f6cf5108a1b0e733a950b13.tar.gz
gdb-c60b3806799abf1d7f6cf5108a1b0e733a950b13.tar.bz2
aarch64-pe support for LD, GAS and BFD
Allows aarch64-pe to be targeted natively, not having to use objcopy to convert it from ELF to PE. Based on initial work by Jedidiah Thompson Co-authored-by: Jedidiah Thompson <wej22007@outlook.com> Co-authored-by: Zac Walker <zac.walker@linaro.org>
Diffstat (limited to 'bfd/config.bfd')
-rw-r--r--bfd/config.bfd16
1 files changed, 14 insertions, 2 deletions
diff --git a/bfd/config.bfd b/bfd/config.bfd
index 5eb82d7..0ae8eb3 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -245,9 +245,15 @@ case "${targ}" in
;;
aarch64-*-elf | aarch64-*-rtems* | aarch64-*-genode*)
targ_defvec=aarch64_elf64_le_vec
- targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec aarch64_pei_vec"
+ targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec aarch64_pei_le_vec aarch64_pe_le_vec"
want64=true
;;
+ aarch64-*-pe*)
+ targ_defvec=aarch64_pe_le_vec
+ targ_selvecs="aarch64_pe_le_vec aarch64_pei_le_vec"
+ want64=true
+ targ_underscore=no
+ ;;
aarch64_be-*-elf)
targ_defvec=aarch64_elf64_be_vec
targ_selvecs="aarch64_elf64_le_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_be_vec arm_elf32_le_vec"
@@ -280,7 +286,7 @@ case "${targ}" in
;;
aarch64-*-linux* | aarch64-*-netbsd*)
targ_defvec=aarch64_elf64_le_vec
- targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec aarch64_pei_vec"
+ targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec aarch64_pei_le_vec aarch64_pe_le_vec"
want64=true
;;
aarch64_be-*-linux* | aarch64_be-*-netbsd*)
@@ -1488,6 +1494,12 @@ case "${targ}" in
;;
esac
+if test x"$targ_defvec" = x"aarch64-pe"; then
+ # Not currently complete (and probably not stable), warn user
+ echo "*** WARNING BFD aarch64-pe support not complete nor stable"
+ echo "*** Do not rely on this for production purposes"
+fi
+
# All MIPS ELF targets need a 64-bit bfd_vma.
case "${targ_defvec} ${targ_selvecs}" in
*mips_elf*)