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 /libgcc | |
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 'libgcc')
0 files changed, 0 insertions, 0 deletions