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