aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2017-06-16 21:04:41 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>2017-06-16 21:04:41 +0000
commit93aa40fee604dea0c2d0bbac088b074cee119c68 (patch)
treee587e11c93cbdf7f1a9e9cf57ae6da391f9b9465 /gcc/config.gcc
parent11389610242c157e43dd5c1f469970e514efe60a (diff)
downloadgcc-93aa40fee604dea0c2d0bbac088b074cee119c68.zip
gcc-93aa40fee604dea0c2d0bbac088b074cee119c68.tar.gz
gcc-93aa40fee604dea0c2d0bbac088b074cee119c68.tar.bz2
[arm] Rewrite t-aprofile using new selector methodology
Now that the default FPU is 'auto' we can finally rewrite (and simplify) the rules for mapping compiler options to multilibs. We no-longer need to know the specific CPU, since the driver will construct a suitable -march flag for us; this greatly simplifies the overall logic. This patch rewrites the library list for A-profile cores. We use various Make extention rules to simplify the logic even further. A couple of minor tweaks to the configure script and to the main driver ensures that we always know the setting of -mfloat-abi and -marm/-mthumb. Again, this helps simplify the logic further. The change to arm_target_thumb_only relies on the fact that this routine is only called if neither -marm nor -mthumb has been previously selected or specified by the user. A new testsuite module is added to check the libraries generated. The new tests are only run if the compiler is configured with the relevant multilibs enabled. gcc: * config.gcc: (arm*-*-*): When building a-profile libraries, force the driver to pass through the default setting of -mfloat-abi. * common/config/arm/arm-common.c (arm_target_thumb_only): Return -marm rather than NULL. * config/arm/t-multilib (MULTILIB_REUSE): Initialize to empty. (all_feat_combs): New rule. (MULTILIB_OPTIONS): Use explicit ARM and Thumb directories. Rework default libraries. * config/arm/t-aprofile: Rewrite. gcc/testsuite: * gcc.target/arm/multilibs.exp: New file. From-SVN: r249296
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r--gcc/config.gcc4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index f3923fd..94a281d 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -3856,7 +3856,9 @@ case "${target}" in
echo "Error: You cannot use any of --with-arch/cpu/fpu/float/mode with --with-multilib-list=${with_multilib_list}" 1>&2
exit 1
fi
-
+ # But pass the default value for float-abi
+ # through to the multilib selector
+ with_float="soft"
tmake_file="${tmake_file} ${tmake_profile_file}"
TM_MULTILIB_CONFIG="$with_multilib_list"
fi