summaryrefslogtreecommitdiffstats
path: root/meta/conf/machine/include/arm/armv8-2a
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2024-01-26 15:31:41 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-02-02 10:38:28 +0000
commit04eac1f2b67eac5f892a9e0f8fcfe54849923af5 (patch)
tree877b8431d8ba788beeef9e82b22a498f011908f5 /meta/conf/machine/include/arm/armv8-2a
parent069d2dfd86e8ba6cc6bcf21d908d87319ac1fcde (diff)
downloadpoky-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')
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc3
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc3
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc3
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc3
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc3
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc3
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc3
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc3
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc3
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc3
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc2
-rw-r--r--meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc3
12 files changed, 23 insertions, 12 deletions
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
index d130b4b90a..5e63b45ae0 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa55.inc
@@ -8,6 +8,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
8# Little Endian base configs 8# Little Endian base configs
9AVAILTUNES += "cortexa55" 9AVAILTUNES += "cortexa55"
10ARMPKGARCH:tune-cortexa55 = "cortexa55" 10ARMPKGARCH:tune-cortexa55 = "cortexa55"
11TUNE_FEATURES:tune-cortexa55 = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa55" 11# We do not want -march since -mcpu is added above to cover for it
12TUNE_FEATURES:tune-cortexa55 = "aarch64 crypto cortexa55"
12PACKAGE_EXTRA_ARCHS:tune-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa55" 13PACKAGE_EXTRA_ARCHS:tune-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa55"
13BASE_LIB:tune-cortexa55 = "lib64" 14BASE_LIB:tune-cortexa55 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc
index c7e86887b5..ba96d0452e 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc
@@ -11,6 +11,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
11# Little Endian base configs 11# Little Endian base configs
12AVAILTUNES += "cortexa65" 12AVAILTUNES += "cortexa65"
13ARMPKGARCH:tune-cortexa65 = "cortexa65" 13ARMPKGARCH:tune-cortexa65 = "cortexa65"
14TUNE_FEATURES:tune-cortexa65 = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa65" 14# We do not want -march since -mcpu is added above to cover for it
15TUNE_FEATURES:tune-cortexa65 = "aarch64 crypto cortexa65"
15PACKAGE_EXTRA_ARCHS:tune-cortexa65 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa65" 16PACKAGE_EXTRA_ARCHS:tune-cortexa65 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa65"
16BASE_LIB:tune-cortexa65 = "lib64" 17BASE_LIB:tune-cortexa65 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc
index dad6d1b174..cc92147441 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc
@@ -11,6 +11,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
11# Little Endian base configs 11# Little Endian base configs
12AVAILTUNES += "cortexa65ae" 12AVAILTUNES += "cortexa65ae"
13ARMPKGARCH:tune-cortexa65ae = "cortexa65ae" 13ARMPKGARCH:tune-cortexa65ae = "cortexa65ae"
14TUNE_FEATURES:tune-cortexa65ae = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa65ae" 14# We do not want -march since -mcpu is added above to cover for it
15TUNE_FEATURES:tune-cortexa65ae = "aarch64 crypto cortexa65ae"
15PACKAGE_EXTRA_ARCHS:tune-cortexa65ae = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa65ae" 16PACKAGE_EXTRA_ARCHS:tune-cortexa65ae = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa65ae"
16BASE_LIB:tune-cortexa65ae = "lib64" 17BASE_LIB:tune-cortexa65ae = "lib64"
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
12AVAILTUNES += "cortexa75-cortexa55 cortexa75-cortexa55-crypto" 12AVAILTUNES += "cortexa75-cortexa55 cortexa75-cortexa55-crypto"
13ARMPKGARCH:tune-cortexa75-cortexa55 = "cortexa75-cortexa55" 13ARMPKGARCH:tune-cortexa75-cortexa55 = "cortexa75-cortexa55"
14ARMPKGARCH:tune-cortexa75-cortexa55-crypto = "cortexa75-cortexa55-crypto" 14ARMPKGARCH:tune-cortexa75-cortexa55-crypto = "cortexa75-cortexa55-crypto"
15TUNE_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
16TUNE_FEATURES:tune-cortexa75-cortexa55 = "aarch64 cortexa75-cortexa55"
16TUNE_FEATURES:tune-cortexa75-cortexa55-crypto = "${TUNE_FEATURES:tune-cortexa75-cortexa55} crypto" 17TUNE_FEATURES:tune-cortexa75-cortexa55-crypto = "${TUNE_FEATURES:tune-cortexa75-cortexa55} crypto"
17PACKAGE_EXTRA_ARCHS:tune-cortexa75-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} cortexa75-cortexa55" 18PACKAGE_EXTRA_ARCHS:tune-cortexa75-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} cortexa75-cortexa55"
18PACKAGE_EXTRA_ARCHS:tune-cortexa75-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa75-cortexa55 cortexa75-cortexa55-crypto" 19PACKAGE_EXTRA_ARCHS:tune-cortexa75-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa75-cortexa55 cortexa75-cortexa55-crypto"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc
index 2d9a1159f1..453be2e6fd 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc
@@ -11,6 +11,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
11# Little Endian base configs 11# Little Endian base configs
12AVAILTUNES += "cortexa75" 12AVAILTUNES += "cortexa75"
13ARMPKGARCH:tune-cortexa75 = "cortexa75" 13ARMPKGARCH:tune-cortexa75 = "cortexa75"
14TUNE_FEATURES:tune-cortexa75 = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa75" 14# We do not want -march since -mcpu is added above to cover for it
15TUNE_FEATURES:tune-cortexa75 = "aarch64 crypto cortexa75"
15PACKAGE_EXTRA_ARCHS:tune-cortexa75 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa75" 16PACKAGE_EXTRA_ARCHS:tune-cortexa75 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa75"
16BASE_LIB:tune-cortexa75 = "lib64" 17BASE_LIB:tune-cortexa75 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc
index f4c99ad6bb..7daf9d91a8 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc
@@ -12,7 +12,8 @@ require conf/machine/include/arm/arch-armv8-2a.inc
12AVAILTUNES += "cortexa76-cortexa55 cortexa76-cortexa55-crypto" 12AVAILTUNES += "cortexa76-cortexa55 cortexa76-cortexa55-crypto"
13ARMPKGARCH:tune-cortexa76-cortexa55 = "cortexa76-cortexa55" 13ARMPKGARCH:tune-cortexa76-cortexa55 = "cortexa76-cortexa55"
14ARMPKGARCH:tune-cortexa76-cortexa55-crypto = "cortexa76-cortexa55-crypto" 14ARMPKGARCH:tune-cortexa76-cortexa55-crypto = "cortexa76-cortexa55-crypto"
15TUNE_FEATURES:tune-cortexa76-cortexa55 = "${TUNE_FEATURES:tune-armv8-2a} cortexa76-cortexa55" 15# We do not want -march since -mcpu is added above to cover for it
16TUNE_FEATURES:tune-cortexa76-cortexa55 = "aarch64 cortexa76-cortexa55"
16TUNE_FEATURES:tune-cortexa76-cortexa55-crypto = "${TUNE_FEATURES:tune-cortexa76-cortexa55} crypto" 17TUNE_FEATURES:tune-cortexa76-cortexa55-crypto = "${TUNE_FEATURES:tune-cortexa76-cortexa55} crypto"
17PACKAGE_EXTRA_ARCHS:tune-cortexa76-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} cortexa76-cortexa55" 18PACKAGE_EXTRA_ARCHS:tune-cortexa76-cortexa55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a} cortexa76-cortexa55"
18PACKAGE_EXTRA_ARCHS:tune-cortexa76-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76-cortexa55 cortexa76-cortexa55-crypto" 19PACKAGE_EXTRA_ARCHS:tune-cortexa76-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76-cortexa55 cortexa76-cortexa55-crypto"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc
index 0dfdb8c5e4..14ed81214d 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc
@@ -11,6 +11,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
11# Little Endian base configs 11# Little Endian base configs
12AVAILTUNES += "cortexa76" 12AVAILTUNES += "cortexa76"
13ARMPKGARCH:tune-cortexa76 = "cortexa76" 13ARMPKGARCH:tune-cortexa76 = "cortexa76"
14TUNE_FEATURES:tune-cortexa76 = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa76" 14# We do not want -march since -mcpu is added above to cover for it
15TUNE_FEATURES:tune-cortexa76 = "aarch64 crypto cortexa76"
15PACKAGE_EXTRA_ARCHS:tune-cortexa76 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76" 16PACKAGE_EXTRA_ARCHS:tune-cortexa76 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76"
16BASE_LIB:tune-cortexa76 = "lib64" 17BASE_LIB:tune-cortexa76 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc
index b2863dca68..191863bac8 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc
@@ -11,6 +11,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
11# Little Endian base configs 11# Little Endian base configs
12AVAILTUNES += "cortexa76ae" 12AVAILTUNES += "cortexa76ae"
13ARMPKGARCH:tune-cortexa76ae = "cortexa76ae" 13ARMPKGARCH:tune-cortexa76ae = "cortexa76ae"
14TUNE_FEATURES:tune-cortexa76ae = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa76ae" 14# We do not want -march since -mcpu is added above to cover for it
15TUNE_FEATURES:tune-cortexa76ae = "aarch64 crypto cortexa76ae"
15PACKAGE_EXTRA_ARCHS:tune-cortexa76ae = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76ae" 16PACKAGE_EXTRA_ARCHS:tune-cortexa76ae = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa76ae"
16BASE_LIB:tune-cortexa76ae = "lib64" 17BASE_LIB:tune-cortexa76ae = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc
index 654b1f6323..1522fd6abd 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc
@@ -11,6 +11,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
11# Little Endian base configs 11# Little Endian base configs
12AVAILTUNES += "cortexa77" 12AVAILTUNES += "cortexa77"
13ARMPKGARCH:tune-cortexa77 = "cortexa77" 13ARMPKGARCH:tune-cortexa77 = "cortexa77"
14TUNE_FEATURES:tune-cortexa77 = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa77" 14# We do not want -march since -mcpu is added above to cover for it
15TUNE_FEATURES:tune-cortexa77 = "aarch64 crypto cortexa77"
15PACKAGE_EXTRA_ARCHS:tune-cortexa77 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa77" 16PACKAGE_EXTRA_ARCHS:tune-cortexa77 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa77"
16BASE_LIB:tune-cortexa77 = "lib64" 17BASE_LIB:tune-cortexa77 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc b/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc
index 15ed595bde..e906cf965c 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc
@@ -11,6 +11,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
11# Little Endian base configs 11# Little Endian base configs
12AVAILTUNES += "neoversee1" 12AVAILTUNES += "neoversee1"
13ARMPKGARCH:tune-neoversee1 = "neoversee1" 13ARMPKGARCH:tune-neoversee1 = "neoversee1"
14TUNE_FEATURES:tune-neoversee1 = "${TUNE_FEATURES:tune-armv8-2a-crypto} neoversee1" 14# We do not want -march since -mcpu is added above to cover for it
15TUNE_FEATURES:tune-neoversee1 = "aarch64 crypto neoversee1"
15PACKAGE_EXTRA_ARCHS:tune-neoversee1 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} neoversee1" 16PACKAGE_EXTRA_ARCHS:tune-neoversee1 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} neoversee1"
16BASE_LIB:tune-neoversee1 = "lib64" 17BASE_LIB:tune-neoversee1 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc b/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc
index 9d181ef4d5..55f054713f 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc
@@ -12,6 +12,6 @@ require conf/machine/include/arm/arch-armv8-2a.inc
12# Little Endian base configs 12# Little Endian base configs
13AVAILTUNES += "neoversen1" 13AVAILTUNES += "neoversen1"
14ARMPKGARCH:tune-neoversen1 = "neoversen1" 14ARMPKGARCH:tune-neoversen1 = "neoversen1"
15TUNE_FEATURES:tune-neoversen1 = "${TUNE_FEATURES:tune-armv8-2a-crypto} neoversen1" 15TUNE_FEATURES:tune-neoversen1 = "aarch64 crypto neoversen1"
16PACKAGE_EXTRA_ARCHS:tune-neoversen1 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} neoversen1" 16PACKAGE_EXTRA_ARCHS:tune-neoversen1 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} neoversen1"
17BASE_LIB:tune-neoversen1 = "lib64" 17BASE_LIB:tune-neoversen1 = "lib64"
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc b/meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc
index 2cac70ea52..e9d7a59c51 100644
--- a/meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc
+++ b/meta/conf/machine/include/arm/armv8-2a/tune-octeontx2.inc
@@ -8,6 +8,7 @@ require conf/machine/include/arm/arch-armv8-2a.inc
8# Little Endian base configs 8# Little Endian base configs
9AVAILTUNES += "octeontx2" 9AVAILTUNES += "octeontx2"
10ARMPKGARCH:tune-octeontx2 = "octeontx2" 10ARMPKGARCH:tune-octeontx2 = "octeontx2"
11TUNE_FEATURES:tune-octeontx2 = "${TUNE_FEATURES:tune-armv8-2a-crypto} octeontx2" 11# We do not want -march since -mcpu is added above to cover for it
12TUNE_FEATURES:tune-octeontx2 = "aarch64 crypto octeontx2"
12PACKAGE_EXTRA_ARCHS:tune-octeontx2 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} octeontx2" 13PACKAGE_EXTRA_ARCHS:tune-octeontx2 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} octeontx2"
13BASE_LIB:tune-octeontx2 = "lib64" 14BASE_LIB:tune-octeontx2 = "lib64"