From ee1fadcf5fde1849df9abb414bdb25ab26b8c34e Mon Sep 17 00:00:00 2001 From: yroux Date: Wed, 16 Jul 2014 15:45:43 +0000 Subject: [PATCH] 2014-07-16 Yvan Roux Backport from trunk r211148. 2014-06-02 Andrew Pinski * 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. git-svn-id: svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@212673 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog.linaro | 14 ++++++++++++++ gcc/config/aarch64/aarch64-linux.h | 4 ++-- gcc/config/aarch64/t-aarch64-linux | 7 ++----- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog.linaro b/gcc/ChangeLog.linaro index c0a979a..890c6bf 100644 --- a/gcc/ChangeLog.linaro +++ b/gcc/ChangeLog.linaro @@ -1,5 +1,19 @@ 2014-07-16 Yvan Roux + Backport from trunk r211148. + 2014-06-02 Andrew Pinski + + * 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-07-16 Yvan Roux + Backport from trunk r210828, r211103. 2014-05-31 Kugan Vivekanandarajah diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h index a8f0771..48beafb 100644 --- a/gcc/config/aarch64/aarch64-linux.h +++ b/gcc/config/aarch64/aarch64-linux.h @@ -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 diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux index 147452b..d6a678e 100644 --- a/gcc/config/aarch64/t-aarch64-linux +++ b/gcc/config/aarch64/t-aarch64-linux @@ -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 -- 2.7.4