From b901c875c96ede54470887bc40d21ba128257951 Mon Sep 17 00:00:00 2001 From: Richard Earnshaw Date: Fri, 11 May 2018 13:29:41 +0000 Subject: [PATCH] [arm] PR target/85733 Restore be8 linking behaviour for ARMv6-M and products deriving from its capabilities My patch last year to automate passing the be8 flag to the linker had a nasty flaw in that I forgot entirely that the ARMv6-M architecture did not derive its capabilities directly from the ARMv6 capability list, but was a new group of capabilities (since it needs to leave out the ARM -- notm -- feature bit). The feature list defined was thus missing the be8 bit. Furthermore, any product derived from that feature group consequently lacked the be8 feature as well and this included all ARMv7 and ARMv8 parts. The fix is embarrassingly simple... PR target/85733 * config/arm/arm-cpus.in (fgroup ARMv6m): Add be8 feature. From-SVN: r260162 --- gcc/ChangeLog | 5 +++++ gcc/config/arm/arm-cpus.in | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index aa93ad8..ae61506 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-05-11 Richard Earnshaw + + PR target/85733 + * config/arm/arm-cpus.in (fgroup ARMv6m): Add be8 feature. + 2018-05-11 Sebastian Peryt * common/config/i386/i386-common.c (OPTION_MASK_ISA_WAITPKG_SET, diff --git a/gcc/config/arm/arm-cpus.in b/gcc/config/arm/arm-cpus.in index fce30e4..96972a0 100644 --- a/gcc/config/arm/arm-cpus.in +++ b/gcc/config/arm/arm-cpus.in @@ -234,7 +234,7 @@ define fgroup ARMv6zk ARMv6k define fgroup ARMv6t2 ARMv6 thumb2 # This is suspect. ARMv6-m doesn't really pull in any useful features # from ARMv5* or ARMv6. -define fgroup ARMv6m mode32 armv3m armv4 thumb armv5 armv5e armv6 +define fgroup ARMv6m mode32 armv3m armv4 thumb armv5 armv5e armv6 be8 # This is suspect, the 'common' ARMv7 subset excludes the thumb2 'DSP' and # integer SIMD instructions that are in ARMv6T2. */ define fgroup ARMv7 ARMv6m thumb2 armv7 -- 2.7.4