aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2018-05-11 13:29:41 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>2018-05-11 13:29:41 +0000
commitb901c875c96ede54470887bc40d21ba128257951 (patch)
tree0924ac02d8c48745b128fac0ba2b74b2ec730745
parent55f31ed10fd38c50560114c47698ed0aa2b302c8 (diff)
downloadgcc-b901c875c96ede54470887bc40d21ba128257951.zip
gcc-b901c875c96ede54470887bc40d21ba128257951.tar.gz
gcc-b901c875c96ede54470887bc40d21ba128257951.tar.bz2
[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
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/arm/arm-cpus.in2
2 files changed, 6 insertions, 1 deletions
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 <rearnsha@arm.com>
+
+ PR target/85733
+ * config/arm/arm-cpus.in (fgroup ARMv6m): Add be8 feature.
+
2018-05-11 Sebastian Peryt <sebastian.peryt@intel.com>
* 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