aarch64-linux.h (GLIBC_DYNAMIC_LINKER): /lib/ld-linux32-aarch64.so.1 is used for...
authorAndrew Pinski <apinski@cavium.com>
Mon, 2 Jun 2014 21:24:41 +0000 (21:24 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Mon, 2 Jun 2014 21:24:41 +0000 (14:24 -0700)
2014-06-02  Andrew Pinski  <apinski@cavium.com>

* config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER):
/lib/ld-linux32-aarch64.so.1 is used for ILP32.
(LINUX_TARGET_LINK_SPEC): Update linker script for ILP32.
file whose name depends on -mabi= and -mbig-endian.
* config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES):
Handle LP64 better and handle ilp32 too.
(MULTILIB_OPTIONS): Delete.
(MULTILIB_DIRNAMES): Delete.

From-SVN: r211148

gcc/ChangeLog
gcc/config/aarch64/aarch64-linux.h
gcc/config/aarch64/t-aarch64-linux

index 1f9f102c53e70a1d7a8dd659fc5c309ad4f58f56..c5d8609cad0576cf77d30b89f540f7f8e9826478 100644 (file)
@@ -1,3 +1,14 @@
+2014-06-02  Andrew Pinski  <apinski@cavium.com>
+    
+       * config/aarch64/aarch64-linux.h (GLIBC_DYNAMIC_LINKER): /lib/ld-linux32-aarch64.so.1
+       is used for ILP32.
+       (LINUX_TARGET_LINK_SPEC): Update linker script for ILP32.
+       file whose name depends on -mabi= and -mbig-endian.
+       * config/aarch64/t-aarch64-linux (MULTILIB_OSDIRNAMES): Handle LP64 better
+       and handle ilp32 too.
+       (MULTILIB_OPTIONS): Delete.
+       (MULTILIB_DIRNAMES): Delete.
+
 2014-06-02  Andrew MacLeod  <amacleod@redhat.com>
 
        * expr.h: Remove prototypes of functions defined in builtins.c.
index a8f07715625bc56ee6ea0d8e8421d292973eafd5..48beafbe26394edb0d3f304bf578acb3246d7d29 100644 (file)
@@ -21,7 +21,7 @@
 #ifndef GCC_AARCH64_LINUX_H
 #define GCC_AARCH64_LINUX_H
 
-#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}.so.1"
+#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-aarch64%{mbig-endian:_be}%{mabi=ilp32:_ilp32}.so.1"
 
 #define CPP_SPEC "%{pthread:-D_REENTRANT}"
 
@@ -33,7 +33,7 @@
    -dynamic-linker " GNU_USER_DYNAMIC_LINKER " \
    -X                                          \
    %{mbig-endian:-EB} %{mlittle-endian:-EL}     \
-   -maarch64linux%{mbig-endian:b}"
+   -maarch64linux%{mabi=ilp32:32}%{mbig-endian:b}"
 
 #define LINK_SPEC LINUX_TARGET_LINK_SPEC
 
index 147452b042509cef703432015591aae84f9de4dc..d6a678ed1705f6f821b2ebfca3d59359ded24631 100644 (file)
@@ -22,10 +22,7 @@ LIB1ASMSRC   = aarch64/lib1funcs.asm
 LIB1ASMFUNCS = _aarch64_sync_cache_range
 
 AARCH_BE = $(if $(findstring TARGET_BIG_ENDIAN_DEFAULT=1, $(tm_defines)),_be)
-MULTILIB_OSDIRNAMES = .=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
+MULTILIB_OSDIRNAMES = mabi.lp64=../lib64$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu)
 MULTIARCH_DIRNAME = $(call if_multiarch,aarch64$(AARCH_BE)-linux-gnu)
 
-# Disable the multilib for linux-gnu targets for the time being; focus
-# on the baremetal targets.
-MULTILIB_OPTIONS    =
-MULTILIB_DIRNAMES   =
+MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32