diff options
author | Jiong Wang <jiong.wang@arm.com> | 2017-05-22 09:50:19 +0100 |
---|---|---|
committer | Jiong Wang <jiong.wang@arm.com> | 2017-05-22 13:27:11 +0100 |
commit | 3c0367d0e2df21717b7345a1ccadef39183457ab (patch) | |
tree | fccfbda79fe69e3ede043e5d11a426ccd0fd7d69 /gas/configure.tgt | |
parent | e11b3cdc565c5e86e43ef79d25fc5e8b88162ec1 (diff) | |
download | gdb-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.tgt | 9 |
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 ;; |