aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2020-01-08 09:29:02 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>2020-01-08 09:29:02 +0000
commitd5bc18085c8b0344e7b53febc3cd3cc681a98ea3 (patch)
tree062bb27ce4d50748909a6f61c238e45b508437a7 /gcc/config
parent54b0c0f0e9786d66a4a3202aa389d92680f02614 (diff)
downloadgcc-d5bc18085c8b0344e7b53febc3cd3cc681a98ea3.zip
gcc-d5bc18085c8b0344e7b53febc3cd3cc681a98ea3.tar.gz
gcc-d5bc18085c8b0344e7b53febc3cd3cc681a98ea3.tar.bz2
arm: Fix rmprofile multilibs when architecture includes +mp or +sec (PR target/93188)
When only the rmprofile multilibs are built, compiling for armv7-a should select the generic v7 multilibs. This used to work before +sec and +mp were added to the architecture options but it was broken by that update. This patch fixes those variants and adds some tests to ensure that they remain fixed ;-) PR target/93188 * config/arm/t-multilib (MULTILIB_MATCHES): Add rules to match armv7-a{+mp,+sec,+mp+sec} to appropriate armv7 multilib variants when only building rm-profile multilibs. * gcc.target/arm/multilib.exp: Add new tests for rm-profile only. From-SVN: r279993
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/arm/t-multilib9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/config/arm/t-multilib b/gcc/config/arm/t-multilib
index 0e16340..3993436 100644
--- a/gcc/config/arm/t-multilib
+++ b/gcc/config/arm/t-multilib
@@ -133,10 +133,19 @@ MULTILIB_MATCHES += march?armv7-r+fp.sp=march?armv8-r+crc+fp.sp
ifeq (,$(HAS_APROFILE))
# Map all v7-a
+
MULTILIB_MATCHES += march?armv7=march?armv7-a
+
+MULTILIB_MATCHES += $(foreach ARCH, $(v7_a_arch_variants), \
+ march?armv7=march?armv7-a$(ARCH))
+
MULTILIB_MATCHES += $(foreach ARCH, $(v7_a_nosimd_variants) $(v7_a_simd_variants), \
march?armv7+fp=march?armv7-a$(ARCH))
+MULTILIB_MATCHES += $(foreach ARCHVAR, $(v7_a_arch_variants), \
+ $(foreach ARCH, $(v7_a_nosimd_variants) $(v7_a_simd_variants), \
+ march?armv7+fp=march?armv7-a$(ARCHVAR)$(ARCH)))
+
MULTILIB_MATCHES += march?armv7=march?armv7ve
# ARMv7ve FP/SIMD variants: map down to v7+fp