diff options
author | Richard Earnshaw <rearnsha@arm.com> | 2017-06-16 21:04:41 +0000 |
---|---|---|
committer | Richard Earnshaw <rearnsha@gcc.gnu.org> | 2017-06-16 21:04:41 +0000 |
commit | 93aa40fee604dea0c2d0bbac088b074cee119c68 (patch) | |
tree | e587e11c93cbdf7f1a9e9cf57ae6da391f9b9465 /gcc/config.gcc | |
parent | 11389610242c157e43dd5c1f469970e514efe60a (diff) | |
download | gcc-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.gcc | 4 |
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 |