[arm] Rewrite t-aprofile using new selector methodology
authorRichard Earnshaw <rearnsha@arm.com>
Fri, 16 Jun 2017 21:04:41 +0000 (21:04 +0000)
committerRichard Earnshaw <rearnsha@gcc.gnu.org>
Fri, 16 Jun 2017 21:04:41 +0000 (21:04 +0000)
commit93aa40fee604dea0c2d0bbac088b074cee119c68
treee587e11c93cbdf7f1a9e9cf57ae6da391f9b9465
parent11389610242c157e43dd5c1f469970e514efe60a
[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
gcc/ChangeLog
gcc/common/config/arm/arm-common.c
gcc/config.gcc
gcc/config/arm/t-aprofile
gcc/config/arm/t-multilib
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arm/multilib.exp [new file with mode: 0644]