aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiong Wang <jiong.wang@arm.com>2017-05-22 09:50:29 +0100
committerJiong Wang <jiong.wang@arm.com>2017-05-22 13:27:56 +0100
commit9a6465c207ed4e34be92741316d78fc00f0836e4 (patch)
tree23d7ff420d61bbd1b71b94f75a4a809e507e9a00
parent3c0367d0e2df21717b7345a1ccadef39183457ab (diff)
downloadfsf-binutils-gdb-9a6465c207ed4e34be92741316d78fc00f0836e4.zip
fsf-binutils-gdb-9a6465c207ed4e34be92741316d78fc00f0836e4.tar.gz
fsf-binutils-gdb-9a6465c207ed4e34be92741316d78fc00f0836e4.tar.bz2
[AArch64, ld] Support ILP32 triplet aarch64*-linux-gnu_ilp32
This patch allows AArch64 LD defaulting to ILP32 if it is configured with aarch64*-linux-gnu_ilp32. ld/ * configure.tgt: Set "targ_emul" to "aarch64linux32b" for aarch64_be-*-linux-gnu_ilp32. Set "targ_emul" to "aarch64linux32" for aarch64-*-linux-gnu_ilp32.
-rw-r--r--ld/ChangeLog6
-rw-r--r--ld/configure.tgt8
2 files changed, 14 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index f6063f5..3bfd4ce 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,9 @@
+2017-05-22 Jiong Wang <jiong.wang@arm.com>
+
+ * configure.tgt: Set "targ_emul" to "aarch64linux32b" for
+ aarch64_be-*-linux-gnu_ilp32. Set "targ_emul" to "aarch64linux32" for
+ aarch64-*-linux-gnu_ilp32.
+
2017-05-19 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/ld-i386/i386.exp: Run property-x86-4a and
diff --git a/ld/configure.tgt b/ld/configure.tgt
index 895f0fb..1b981d4 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -56,6 +56,14 @@ aarch64-*-freebsd*) targ_emul=aarch64fbsd
targ_extra_emuls="aarch64fbsdb aarch64elf" ;;
aarch64-*-fuchsia*) targ_emul=aarch64elf
targ_extra_emuls="aarch64elfb armelf armelfb" ;;
+aarch64_be-*-linux-gnu_ilp32)
+ targ_emul=aarch64linux32b
+ targ_extra_libpath="aarch64linuxb aarch64linux aarch64linux32 armelfb_linux_eabi armelf_linux_eabi"
+ targ_extra_emuls="aarch64elfb aarch64elf aarch64elf32 aarch64elf32b armelfb armelf $targ_extra_libpath" ;;
+aarch64-*-linux-gnu_ilp32)
+ targ_emul=aarch64linux32
+ targ_extra_libpath="aarch64linux aarch64linuxb aarch64linux32b armelfb_linux_eabi armelf_linux_eabi"
+ targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb $targ_extra_libpath" ;;
aarch64_be-*-linux*) targ_emul=aarch64linuxb
targ_extra_libpath="aarch64linux aarch64linux32 aarch64linux32b armelfb_linux_eabi armelf_linux_eabi"
targ_extra_emuls="aarch64elfb aarch64elf aarch64elf32 aarch64elf32b armelfb armelf $targ_extra_libpath" ;;