aboutsummaryrefslogtreecommitdiff
path: root/gas/configure.tgt
diff options
context:
space:
mode:
authorJiong Wang <jiong.wang@arm.com>2017-05-22 09:50:19 +0100
committerJiong Wang <jiong.wang@arm.com>2017-05-22 13:27:11 +0100
commit3c0367d0e2df21717b7345a1ccadef39183457ab (patch)
treefccfbda79fe69e3ede043e5d11a426ccd0fd7d69 /gas/configure.tgt
parente11b3cdc565c5e86e43ef79d25fc5e8b88162ec1 (diff)
downloadgdb-3c0367d0e2df21717b7345a1ccadef39183457ab.zip
gdb-3c0367d0e2df21717b7345a1ccadef39183457ab.tar.gz
gdb-3c0367d0e2df21717b7345a1ccadef39183457ab.tar.bz2
[AArch64, gas] Support ILP32 triplet aarch64*-linux-gnu_ilp32
This patch allows AArch64 GAS defaulting to ILP32 if it is configured with aarch64*-linux-gnu_ilp32. "md_after_parse_args" is implemented to update ABI into ILP32 if DEFAULT_ARCH is "aarch64:32". gas/ * configure.tgt: Set "arch" to "aarch64" if ${cpu} equals "aarch64". Recognize the new triplet name aarch64*-linux-gnu_ilp32. * configure.ac: Output DEFAULT_ARCH macro for AArch64. * configure: Regenerate. * config/tc-aarch64.h (aarch64_after_parse_args): New declaration. (md_after_parse_args): New define. * config/tc-aarch64.c (aarch64_abi_type): New enumeration AARCH64_ABI_NONE. (DEFAULT_ARCH): New define. (aarch64_abi): Set default value to AARCH64_ABI_NONE. (aarch64_after_parse_args): New function.
Diffstat (limited to 'gas/configure.tgt')
-rw-r--r--gas/configure.tgt9
1 files changed, 6 insertions, 3 deletions
diff --git a/gas/configure.tgt b/gas/configure.tgt
index ca58b69..9d5e781 100644
--- a/gas/configure.tgt
+++ b/gas/configure.tgt
@@ -46,8 +46,8 @@ eval `echo $targ | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'`
# endian and arch.
# Note: This table is alpha-sorted, please try to keep it that way.
case ${cpu} in
- aarch64) cpu_type=aarch64 endian=little ;;
- aarch64_be) cpu_type=aarch64 endian=big ;;
+ aarch64) cpu_type=aarch64 endian=little arch=aarch64;;
+ aarch64_be) cpu_type=aarch64 endian=big arch=aarch64;;
alpha*) cpu_type=alpha ;;
am33_2.0) cpu_type=mn10300 endian=little ;;
arc*eb) cpu_type=arc endian=big ;;
@@ -126,7 +126,10 @@ generic_target=${cpu_type}-$vendor-$os
case ${generic_target} in
aarch64*-*-elf*) fmt=elf;;
aarch64*-*-fuchsia*) fmt=elf;;
- aarch64*-*-linux*) fmt=elf em=linux ;;
+ aarch64*-*-linux*) fmt=elf em=linux
+ case ${cpu}-${os} in
+ aarch64*-linux-gnu_ilp32) arch=aarch64:32 ;;
+ esac ;;
alpha-*-*vms*) fmt=evax ;;
alpha-*-osf*) fmt=ecoff ;;