Message ID | 5447BD29.4060504@arm.com |
---|---|
State | New |
Headers | show |
On 22 October 2014 15:20, Kyrill Tkachov <kyrylo.tkachov@arm.com> wrote: > Hi all, > > This patch contains the LINK_SPEC changes required to pass on the linker > option --fix-cortex-a53-835769 when compiling with -mfix-cortex-a53-835769 > (or by default when configured with --enable-fix-cortex-a53-835769). > > This requires a binutils installation with the patch posted at > https://sourceware.org/ml/binutils/2014-10/msg00198.html applied. > > > Bootstrapped and tested on aarch64-none-linux-gnu and built various > benchmarks. > This patch applies to 4.9 (4.8 version will be posted separately) and has > been tested there as well. > > Ok for trunk and 4.9? The corresponding binutils changes are committed on binutils trunk, 2.25 and 2.24. The trunk patch is OK. Given that Jakub is in the process of preparing a 4.9.2 I'd like an explicit OK before we commit on 4.9. Jakub? Cheers /Marcus
On Fri, Oct 24, 2014 at 12:04:52PM +0100, Marcus Shawcroft wrote: > On 22 October 2014 15:20, Kyrill Tkachov <kyrylo.tkachov@arm.com> wrote: > > Hi all, > > > > This patch contains the LINK_SPEC changes required to pass on the linker > > option --fix-cortex-a53-835769 when compiling with -mfix-cortex-a53-835769 > > (or by default when configured with --enable-fix-cortex-a53-835769). > > > > This requires a binutils installation with the patch posted at > > https://sourceware.org/ml/binutils/2014-10/msg00198.html applied. > > > > > > Bootstrapped and tested on aarch64-none-linux-gnu and built various > > benchmarks. > > This patch applies to 4.9 (4.8 version will be posted separately) and has > > been tested there as well. > > > > Ok for trunk and 4.9? > > The corresponding binutils changes are committed on binutils trunk, > 2.25 and 2.24. > > The trunk patch is OK. > > Given that Jakub is in the process of preparing a 4.9.2 I'd like an > explicit OK before we commit on 4.9. Jakub? Is that a regression on the 4.9 branch? If not, I'd prefer if it could wait for 4.9.3. Jakub
diff --git a/gcc/config/aarch64/aarch64-elf-raw.h b/gcc/config/aarch64/aarch64-elf-raw.h index b9d4e8d..16ad5c8 100644 --- a/gcc/config/aarch64/aarch64-elf-raw.h +++ b/gcc/config/aarch64/aarch64-elf-raw.h @@ -27,9 +27,18 @@ " crtend%O%s crtn%O%s " \ "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.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/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h index 3fbde93..d375624 100644 --- a/gcc/config/aarch64/aarch64-linux.h +++ b/gcc/config/aarch64/aarch64-linux.h @@ -41,7 +41,16 @@ %{mbig-endian:-EB} %{mlittle-endian:-EL} \ -maarch64linux%{mabi=ilp32:32}%{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 GNU_USER_TARGET_MATHFILE_SPEC \ "%{Ofast|ffast-math|funsafe-math-optimizations:crtfastmath.o%s}"