When ARMv8.1 support was added to the ARM target, the bpabi.h/BE8_LINK_SPEC list wasn't updated. That means that when GCC targets ARMv8.1 big-endian, it fails to generate working binaries.
This patch addds the required 'march=armv8.1-a' entries to BE8_LINK_SPEC. It also adds the missing entries for armv8-a+crc. Testing for armeb-none-eabi with cross-compiled check-gcc and with command line testing to confirm working executables are built. Is this ok for trunk and for GCC-6 once testing is completed? Matthew 2016-04-18 Matthew Wahab <matthew.wa...@arm.com> PR target/70711 * config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for armv8+crc, armv8.1-a and armv8.1-a+crc.
>From 627f689c37eeec3f0d846cda4577385158ca8d10 Mon Sep 17 00:00:00 2001 From: Matthew Wahab <matthew.wa...@arm.com> Date: Mon, 18 Apr 2016 09:32:54 +0100 Subject: [PATCH] [ARM] Fix big-endian ARMv8.1-A builds. When ARMv8.1 support was added to the ARM target, the bpabi.h/BE8_LINK_SPEC list wasn't updated. That means that when GCC targets ARMv8.1 big-endian, it fails to generate working binaries. This patch addds the required 'march=armv8.1-a' entries to BE8_LINK_SPEC. It also adds the missing entries for armv8-a+crc. Tested for armeb-none-eabi with cross-compiled check-gcc and with command line testing to confirm working executables are built. Is this ok for trunk and for GCC-6? Matthew 2016-04-18 Matthew Wahab <matthew.wa...@arm.com> PR target/70711 * config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for armv8+crc, armv8.1-a and armv8.1-a+crc. Change-Id: I8a825421b6c4355d9fd611432c11a8d7b4d61bbf --- gcc/config/arm/bpabi.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gcc/config/arm/bpabi.h b/gcc/config/arm/bpabi.h index 5d6c4ed..06488ba 100644 --- a/gcc/config/arm/bpabi.h +++ b/gcc/config/arm/bpabi.h @@ -87,6 +87,9 @@ |march=armv7e-m|mcpu=cortex-m4|mcpu=cortex-m7 \ |march=armv6-m|mcpu=cortex-m0 \ |march=armv8-a \ + |march=armv8-a+crc \ + |march=armv8.1-a \ + |march=armv8.1-a+crc \ :%{!r:--be8}}}" #else #define BE8_LINK_SPEC \ @@ -115,6 +118,9 @@ |march=armv7e-m|mcpu=cortex-m4|mcpu=cortex-m7 \ |march=armv6-m|mcpu=cortex-m0 \ |march=armv8-a \ + |march=armv8-a+crc \ + |march=armv8.1-a \ + |march=armv8.1-a+crc \ :%{!r:--be8}}}" #endif -- 2.1.4