From e86367917b8400cc955d8bba75dcc329cb0e75d0 Mon Sep 17 00:00:00 2001 From: Rong Xu Date: Fri, 31 Oct 2014 10:54:01 -0700 Subject: [4.9] LINK_SPEC changes for Cortex-A53 erratum 835769 workaround This is proted from upstream gcc-4_9 branch: svn r216979. Change-Id: I1cee530fb4f50843a9832aa678c1630f51564fa6 --- gcc-4.9/gcc/ChangeLog | 7 +++++++ gcc-4.9/gcc/config/aarch64/aarch64-elf-raw.h | 11 ++++++++++- gcc-4.9/gcc/config/aarch64/aarch64-linux.h | 11 ++++++++++- 3 files changed, 27 insertions(+), 2 deletions(-) (limited to 'gcc-4.9/gcc') diff --git a/gcc-4.9/gcc/ChangeLog b/gcc-4.9/gcc/ChangeLog index 473fceb74..1d9912ada 100644 --- a/gcc-4.9/gcc/ChangeLog +++ b/gcc-4.9/gcc/ChangeLog @@ -1,3 +1,10 @@ +2014-10-24 Kyrylo Tkachov + + * config/aarch64/aarch64-elf-raw.h (CA53_ERR_835769_SPEC): Define. + (LINK_SPEC): Include CA53_ERR_835769_SPEC. + * config/aarch64/aarch64-linux.h (CA53_ERR_835769_SPEC): Define. + (LINK_SPEC): Include CA53_ERR_835769_SPEC. + 2014-08-27 Guozhi Wei PR target/62262 diff --git a/gcc-4.9/gcc/config/aarch64/aarch64-elf-raw.h b/gcc-4.9/gcc/config/aarch64/aarch64-elf-raw.h index adec7e7ba..eafdd551d 100644 --- a/gcc-4.9/gcc/config/aarch64/aarch64-elf-raw.h +++ b/gcc-4.9/gcc/config/aarch64/aarch64-elf-raw.h @@ -25,9 +25,18 @@ #define STARTFILE_SPEC " crti%O%s crtbegin%O%s crt0%O%s" #define ENDFILE_SPEC " crtend%O%s crtn%O%s" +#ifdef TARGET_FIX_ERR_A53_835769_DEFAULT +#define CA53_ERR_835769_SPEC \ + " %{!mno-fix-cortex-a53-835769:--fix-cortex-a53-835769}" +#else +#define CA53_ERR_835769_SPEC \ + " %{mfix-cortex-a53-835769:--fix-cortex-a53-835769}" +#endif + #ifndef LINK_SPEC #define LINK_SPEC "%{mbig-endian:-EB} %{mlittle-endian:-EL} -X \ - -maarch64elf%{mabi=ilp32*:32}%{mbig-endian:b}" + -maarch64elf%{mabi=ilp32*:32}%{mbig-endian:b}" \ + CA53_ERR_835769_SPEC #endif #endif /* GCC_AARCH64_ELF_RAW_H */ diff --git a/gcc-4.9/gcc/config/aarch64/aarch64-linux.h b/gcc-4.9/gcc/config/aarch64/aarch64-linux.h index 3b191856d..09ae1cfc0 100644 --- a/gcc-4.9/gcc/config/aarch64/aarch64-linux.h +++ b/gcc-4.9/gcc/config/aarch64/aarch64-linux.h @@ -40,7 +40,16 @@ %{mbig-endian:-EB} %{mlittle-endian:-EL} \ -maarch64linux%{mbig-endian:b}" -#define LINK_SPEC LINUX_TARGET_LINK_SPEC +#ifdef TARGET_FIX_ERR_A53_835769_DEFAULT +#define CA53_ERR_835769_SPEC \ + " %{!mno-fix-cortex-a53-835769:--fix-cortex-a53-835769}" +#else +#define CA53_ERR_835769_SPEC \ + " %{mfix-cortex-a53-835769:--fix-cortex-a53-835769}" +#endif + +#define LINK_SPEC LINUX_TARGET_LINK_SPEC \ + CA53_ERR_835769_SPEC #define TARGET_OS_CPP_BUILTINS() \ do \ -- cgit v1.2.3