diff options
author | Khem Raj <raj.khem@gmail.com> | 2024-01-26 15:31:41 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-02-02 10:38:28 +0000 |
commit | 04eac1f2b67eac5f892a9e0f8fcfe54849923af5 (patch) | |
tree | 877b8431d8ba788beeef9e82b22a498f011908f5 /meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc | |
parent | 069d2dfd86e8ba6cc6bcf21d908d87319ac1fcde (diff) | |
download | poky-04eac1f2b67eac5f892a9e0f8fcfe54849923af5.tar.gz |
armv8/armv9: Avoid using -march when -mcpu is chosen
Current include logic goes into generic arm v8/v9 architecture tunes and
adds corresponding -march option after synthesizing it from various tune
fragments, this is fine for a machine which is using armv8/armv9 based
tunes but cortex tunes are intentionally using -mcpu option based on
selected tune value. So when cortex based default tune is selected for a
machine, it will add both -mcpu and -march to the compiler commandline
which can result in invalid combinations for this pair in gcc's own
logic. This can then result in compiler warnings/errors reporting this
e.g.
aarch64-yoe-linux-gcc -mcpu=cortex-a72.cortex-a53 -march=armv8-a+crc+crypto -mbranch-protection=standard
...
cc1: error: switch '-mcpu=cortex-a72.cortex-a53' conflicts with '-march=armv8-a+crc+crypto' switch and resulted in options '+crc+crypto' being added [-Werror]
This is seen in lot of configure test results in glibc 2.39 and the
warning is promoted to errors by gcc in some of these checks especially
with gcc-14, the logs also show it as warning in other places in
configure checks.
mcpu option will compute relevant march implicitly as it specifies a cpu
implementation and this will be the right value to use, therefore do not
specify -march when -mcpu is already describing the cpu.
(From OE-Core rev: e64f0c1b6ac5d598a79a21de5f3060f83cb9523e)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Ross Burton <ross.burton@arm.com>
Cc: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc')
-rw-r--r-- | meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc index 3a47e8278d..e18b2cb6e0 100644 --- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc | |||
@@ -12,7 +12,8 @@ require conf/machine/include/arm/arch-armv8-2a.inc | |||
12 | AVAILTUNES += "cortexa75-cortexa55 cortexa75-cortexa55-crypto" | 12 | AVAILTUNES += "cortexa75-cortexa55 cortexa75-cortexa55-crypto" |
13 | ARMPKGARCH:tune-cortexa75-cortexa55 = "cortexa75-cortexa55" | 13 | ARMPKGARCH:tune-cortexa75-cortexa55 = "cortexa75-cortexa55" |
14 | ARMPKGARCH:tune-cortexa75-cortexa55-crypto = "cortexa75-cortexa55-crypto" | 14 | ARMPKGARCH:tune-cortexa75-cortexa55-crypto = "cortexa75-cortexa55-crypto" |
15 | TUNE_FEATURES:tune-cortexa75-cortexa55 = "${TUNE_FEATURES:tune-armv8-2a} cortexa75-cortexa55" | 15 | # We do not want -march since -mcpu is added above to cover for it |
16 | TUNE_FEATURES:tune-cortexa75-cortexa55 = "aarch64 cortexa75-cortexa55" | ||
16 | TUNE_FEATURES:tune-cortexa75-cortexa55-crypto = "${TUNE_FEATURES:tune-cortexa75-cortexa55} crypto" | 17 | TUNE_FEATURES:tune-cortexa75-cortexa55-crypto = "${TUNE_FEATURES:tune-cortexa75-cortexa55} crypto" |
17 | PACKAGE_EXTRA_ARCHS:tune-cortexa75-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} cortexa75-cortexa55" | 18 | PACKAGE_EXTRA_ARCHS:tune-cortexa75-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} cortexa75-cortexa55" |
18 | PACKAGE_EXTRA_ARCHS:tune-cortexa75-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa75-cortexa55 cortexa75-cortexa55-crypto" | 19 | PACKAGE_EXTRA_ARCHS:tune-cortexa75-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa75-cortexa55 cortexa75-cortexa55-crypto" |