diff options
author | Khem Raj <raj.khem@gmail.com> | 2019-01-27 12:56:15 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-01-28 23:14:09 +0000 |
commit | 156a2d98600299822695d173381a9eac49e30908 (patch) | |
tree | 4db1412709e81eec1e82d8334d325d1ad53e2684 /meta/conf/machine/include/tune-cortexa7.inc | |
parent | ba3aa531129186ce531c46acb68f329f6c8f376e (diff) | |
download | poky-156a2d98600299822695d173381a9eac49e30908.tar.gz |
arm-tunes: Remove -march option if mcpu is already added
tune files which inherit the arch definitions already define appropriate
-mcpu option, which is equivalent of right -march and -mtune combination
and is preferred since gcc is getting stricter and stricter with option
check semantics and can now find incompatible -march and -mcpu options
better with every release. It does internal feature consistency check
and if it finds out discrepency between what -mcpu would expand to as
compared to -march it will flag the options to be incompatible, for
naked eye it sounds wrong but gcc would translate -mcpu to a given
-march internally and it might not match to what we set in these arch
files.
The effects are quite subtle, where this can result in configure test
failing to compile due to these incompatible options and a feature
option getting disabled for a recipe for no reason.
e.g. with gcc9 which can now detect that -mcpu=cortex-a5 and
-march=armv7-a are incompatible, many features in libstdc++ ends up
disabled due to configure check failures e.g. size_t size, ptrdiff_t
sizes, which inturn results in compiling libstdc++ with unwanted
disabled features.
(From OE-Core rev: ac83d22eb5031f7fdd09d34a1a46d92fd3e39a3c)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf/machine/include/tune-cortexa7.inc')
-rw-r--r-- | meta/conf/machine/include/tune-cortexa7.inc | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/meta/conf/machine/include/tune-cortexa7.inc b/meta/conf/machine/include/tune-cortexa7.inc index 52415d9c8b..34a77b4788 100644 --- a/meta/conf/machine/include/tune-cortexa7.inc +++ b/meta/conf/machine/include/tune-cortexa7.inc | |||
@@ -4,6 +4,7 @@ require conf/machine/include/arm/arch-armv7ve.inc | |||
4 | 4 | ||
5 | TUNEVALID[cortexa7] = "Enable Cortex-A7 specific processor optimizations" | 5 | TUNEVALID[cortexa7] = "Enable Cortex-A7 specific processor optimizations" |
6 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa7', ' -mcpu=cortex-a7', '', d)}" | 6 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa7', ' -mcpu=cortex-a7', '', d)}" |
7 | MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'cortexa7', 'armv7ve:', '' ,d)}" | ||
7 | 8 | ||
8 | # Little Endian base configs | 9 | # Little Endian base configs |
9 | AVAILTUNES += "cortexa7 cortexa7t cortexa7-neon cortexa7t-neon cortexa7-neon-vfpv4 cortexa7t-neon-vfpv4" | 10 | AVAILTUNES += "cortexa7 cortexa7t cortexa7-neon cortexa7t-neon cortexa7-neon-vfpv4 cortexa7t-neon-vfpv4" |
@@ -13,12 +14,13 @@ ARMPKGARCH_tune-cortexa7-neon = "cortexa7" | |||
13 | ARMPKGARCH_tune-cortexa7t-neon = "cortexa7" | 14 | ARMPKGARCH_tune-cortexa7t-neon = "cortexa7" |
14 | ARMPKGARCH_tune-cortexa7-neon-vfpv4 = "cortexa7" | 15 | ARMPKGARCH_tune-cortexa7-neon-vfpv4 = "cortexa7" |
15 | ARMPKGARCH_tune-cortexa7t-neon-vfpv4 = "cortexa7" | 16 | ARMPKGARCH_tune-cortexa7t-neon-vfpv4 = "cortexa7" |
16 | TUNE_FEATURES_tune-cortexa7 = "${TUNE_FEATURES_tune-armv7ve} cortexa7" | 17 | # mcpu is used so don't use armv7ve as we don't want march |
17 | TUNE_FEATURES_tune-cortexa7t = "${TUNE_FEATURES_tune-armv7vet} cortexa7" | 18 | TUNE_FEATURES_tune-cortexa7 = "arm vfp cortexa7" |
18 | TUNE_FEATURES_tune-cortexa7-neon = "${TUNE_FEATURES_tune-armv7ve-neon} cortexa7" | 19 | TUNE_FEATURES_tune-cortexa7t = "${TUNE_FEATURES_tune-cortexa7} thumb" |
19 | TUNE_FEATURES_tune-cortexa7t-neon = "${TUNE_FEATURES_tune-armv7vet-neon} cortexa7" | 20 | TUNE_FEATURES_tune-cortexa7-neon = "${TUNE_FEATURES_tune-cortexa7} neon" |
20 | TUNE_FEATURES_tune-cortexa7-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7ve-neon-vfpv4} cortexa7" | 21 | TUNE_FEATURES_tune-cortexa7t-neon = "${TUNE_FEATURES_tune-cortexa7-neon} thumb" |
21 | TUNE_FEATURES_tune-cortexa7t-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vet-neon-vfpv4} cortexa7" | 22 | TUNE_FEATURES_tune-cortexa7-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa7-neon} vfpv4" |
23 | TUNE_FEATURES_tune-cortexa7t-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa7-neon-vfpv4} thumb" | ||
22 | PACKAGE_EXTRA_ARCHS_tune-cortexa7 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} cortexa7-vfp" | 24 | PACKAGE_EXTRA_ARCHS_tune-cortexa7 = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve} cortexa7-vfp" |
23 | PACKAGE_EXTRA_ARCHS_tune-cortexa7t = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} cortexa7-vfp cortexa7t2-vfp" | 25 | PACKAGE_EXTRA_ARCHS_tune-cortexa7t = "${PACKAGE_EXTRA_ARCHS_tune-armv7vet} cortexa7-vfp cortexa7t2-vfp" |
24 | PACKAGE_EXTRA_ARCHS_tune-cortexa7-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon} cortexa7-vfp cortexa7-neon" | 26 | PACKAGE_EXTRA_ARCHS_tune-cortexa7-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7ve-neon} cortexa7-vfp cortexa7-neon" |
@@ -34,12 +36,13 @@ ARMPKGARCH_tune-cortexa7hf-neon = "cortexa7" | |||
34 | ARMPKGARCH_tune-cortexa7thf-neon = "cortexa7" | 36 | ARMPKGARCH_tune-cortexa7thf-neon = "cortexa7" |
35 | ARMPKGARCH_tune-cortexa7hf-neon-vfpv4 = "cortexa7" | 37 | ARMPKGARCH_tune-cortexa7hf-neon-vfpv4 = "cortexa7" |
36 | ARMPKGARCH_tune-cortexa7thf-neon-vfpv4 = "cortexa7" | 38 | ARMPKGARCH_tune-cortexa7thf-neon-vfpv4 = "cortexa7" |
37 | TUNE_FEATURES_tune-cortexa7hf = "${TUNE_FEATURES_tune-armv7vehf} cortexa7" | 39 | # mcpu is used so don't use armv7ve as we don't want march |
38 | TUNE_FEATURES_tune-cortexa7thf = "${TUNE_FEATURES_tune-armv7vethf} cortexa7" | 40 | TUNE_FEATURES_tune-cortexa7hf = "${TUNE_FEATURES_tune-cortexa7} callconvention-hard" |
39 | TUNE_FEATURES_tune-cortexa7hf-neon = "${TUNE_FEATURES_tune-armv7vehf-neon} cortexa7" | 41 | TUNE_FEATURES_tune-cortexa7thf = "${TUNE_FEATURES_tune-cortexa7t} callconvention-hard" |
40 | TUNE_FEATURES_tune-cortexa7thf-neon = "${TUNE_FEATURES_tune-armv7vethf-neon} cortexa7" | 42 | TUNE_FEATURES_tune-cortexa7hf-neon = "${TUNE_FEATURES_tune-cortexa7-neon} callconvention-hard" |
41 | TUNE_FEATURES_tune-cortexa7hf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vehf-neon-vfpv4} cortexa7" | 43 | TUNE_FEATURES_tune-cortexa7thf-neon = "${TUNE_FEATURES_tune-cortexa7t-neon} callconvention-hard" |
42 | TUNE_FEATURES_tune-cortexa7thf-neon-vfpv4 = "${TUNE_FEATURES_tune-armv7vethf-neon-vfpv4} cortexa7" | 44 | TUNE_FEATURES_tune-cortexa7hf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa7-neon-vfpv4} callconvention-hard" |
45 | TUNE_FEATURES_tune-cortexa7thf-neon-vfpv4 = "${TUNE_FEATURES_tune-cortexa7t-neon-vfpv4} callconvention-hard" | ||
43 | PACKAGE_EXTRA_ARCHS_tune-cortexa7hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} cortexa7hf-vfp" | 46 | PACKAGE_EXTRA_ARCHS_tune-cortexa7hf = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf} cortexa7hf-vfp" |
44 | PACKAGE_EXTRA_ARCHS_tune-cortexa7thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} cortexa7hf-vfp cortexa7t2hf-vfp" | 47 | PACKAGE_EXTRA_ARCHS_tune-cortexa7thf = "${PACKAGE_EXTRA_ARCHS_tune-armv7vethf} cortexa7hf-vfp cortexa7t2hf-vfp" |
45 | PACKAGE_EXTRA_ARCHS_tune-cortexa7hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon} cortexa7hf-vfp cortexa7hf-neon" | 48 | PACKAGE_EXTRA_ARCHS_tune-cortexa7hf-neon = "${PACKAGE_EXTRA_ARCHS_tune-armv7vehf-neon} cortexa7hf-vfp cortexa7hf-neon" |