]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
tunes: set valid clang tune for big.LITTLE Arm SoCs
authorGyorgy Sarvari <skandigraun@gmail.com>
Wed, 16 Jul 2025 18:40:02 +0000 (20:40 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 21 Jul 2025 21:59:31 +0000 (22:59 +0100)
clang doesn't have Arm big.LITTLE specific tune options - when such an option is used,
the compilation fails with an error like this:

aarch64-poky-linux-clang: error: unsupported argument 'cortex-a72.cortex-a53+crc+crypto' to option '-mcpu='

To avoid this, in case a big.LITTLE SoC is the target and the toolchain is clang, select
the tune corresponding to the LITTLE core.

Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc
meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc
meta/conf/machine/include/arm/armv8a/tune-cortexa57-cortexa53.inc
meta/conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc
meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa35.inc
meta/conf/machine/include/arm/armv8a/tune-cortexa73-cortexa53.inc

index e18b2cb6e0aceaa0a24d69c213590ce478f4b41a..6b9b541f9a05192f466a002d230e14cb33d423f3 100644 (file)
@@ -5,7 +5,11 @@ DEFAULTTUNE                                        ?= "cortexa75-cortexa55"
 
 TUNEVALID[cortexa75-cortexa55] = "Enable big.LITTLE Cortex-A75.Cortex-A55 specific processor optimizations"
 MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa75-cortexa55", "cortexa75-cortexa55:", "", d)}"
-TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa75-cortexa55", " -mcpu=cortex-a75.cortex-a55", "", d)}"
+
+CPU_TUNE_ARG = "cortex-a75.cortex-a55"
+# clang doesn't support big.LITTLE tunes, select the LITTLE tune
+CPU_TUNE_ARG:toolchain-clang = "cortex-a55"
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa75-cortexa55", " -mcpu=${CPU_TUNE_ARG}", "", d)}"
 
 require conf/machine/include/arm/arch-armv8-2a.inc
 
index 7daf9d91a8fe6039bbb2b7194530511cf7d5139d..8195782cd99b31973d99231d766a23ee9b70d250 100644 (file)
@@ -5,7 +5,11 @@ DEFAULTTUNE                                        ?= "cortexa76-cortexa55"
 
 TUNEVALID[cortexa76-cortexa55] = "Enable big.LITTLE Cortex-A76.Cortex-A55 specific processor optimizations"
 MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa76-cortexa55", "cortexa76-cortexa55:", "", d)}"
-TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa76-cortexa55", " -mcpu=cortex-a76.cortex-a55", "", d)}"
+
+CPU_TUNE_ARG = "cortex-a76.cortex-a55"
+# clang doesn't support big.LITTLE tunes, select the LITTLE tune
+CPU_TUNE_ARG:toolchain-clang = "cortex-a55"
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa76-cortexa55", " -mcpu=${CPU_TUNE_ARG}", "", d)}"
 
 require conf/machine/include/arm/arch-armv8-2a.inc
 
index 052d1173c9b5c38e223ad9b377321474e0bf6365..ee86c1c84ba4a98c784d9b98334773c212f0c893 100644 (file)
@@ -1,7 +1,11 @@
 DEFAULTTUNE ?= "cortexa57-cortexa53"
 
 TUNEVALID[cortexa57-cortexa53] = "Enable big.LITTLE Cortex-A57.Cortex-A53 specific processor optimizations"
-TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa57-cortexa53", " -mcpu=cortex-a57.cortex-a53", "", d)}"
+
+CPU_TUNE_ARG = "cortex-a57.cortex-a53"
+# clang doesn't support big.LITTLE tunes, select the LITTLE tune
+CPU_TUNE_ARG:toolchain-clang = "cortex-a53"
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa57-cortexa53", " -mcpu=${CPU_TUNE_ARG}", "", d)}"
 MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa57-cortexa53", "cortexa57-cortexa53:", "", d)}"
 
 require conf/machine/include/arm/arch-armv8a.inc
index ff188aec5fd995073233ab41a574fc7c0a669b74..ba92161b9f8755e98cff9c92fe40cb6dc88abe67 100644 (file)
@@ -1,7 +1,11 @@
 DEFAULTTUNE ?= "cortexa72-cortexa53"
 
 TUNEVALID[cortexa72-cortexa53] = "Enable big.LITTLE Cortex-A72.Cortex-A53 specific processor optimizations"
-TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa72-cortexa53", " -mcpu=cortex-a72.cortex-a53", "", d)}"
+
+CPU_TUNE_ARG = "cortex-a72.cortex-a53"
+# clang doesn't support big.LITTLE tunes, select the LITTLE tune
+CPU_TUNE_ARG:toolchain-clang = "cortex-a53"
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa72-cortexa53", " -mcpu=${CPU_TUNE_ARG}", "", d)}"
 MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa72-cortexa53", "cortexa72-cortexa53:", "", d)}"
 
 require conf/machine/include/arm/arch-armv8a.inc
index 4f4f25f511984da44da435271455156f08fa6c93..370882f2993453d68bbccedb7578cd1eb531f6ab 100644 (file)
@@ -5,7 +5,11 @@ DEFAULTTUNE ?= "cortexa73-cortexa35"
 
 TUNEVALID[cortexa73-cortexa35] = "Enable big.LITTLE Cortex-A73.Cortex-A35 specific processor optimizations"
 MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa35", "cortexa73-cortexa35:", "", d)}"
-TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa35", " -mcpu=cortex-a73.cortex-a35", "", d)}"
+
+CPU_TUNE_ARG = "cortex-a73.cortex-a35"
+# clang doesn't support big.LITTLE tunes, select the LITTLE tune
+CPU_TUNE_ARG:toolchain-clang = "cortex-a35"
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa35", " -mcpu=${CPU_TUNE_ARG}", "", d)}"
 
 require conf/machine/include/arm/arch-armv8a.inc
 
index 1d152ed83bf4a5976173001dcf267e8cabb3e710..388df5fb662122f411d4a96ba68a1e19233db6bc 100644 (file)
@@ -2,7 +2,11 @@ DEFAULTTUNE ?= "cortexa73-cortexa53"
 
 TUNEVALID[cortexa73-cortexa53] = "Enable big.LITTLE Cortex-A73.Cortex-A53 specific processor optimizations"
 MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", "cortexa73-cortexa53:", "", d)}"
-TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", " -mcpu=cortex-a73.cortex-a53", "", d)}"
+
+CPU_TUNE_ARG = "cortex-a73.cortex-a53"
+# clang doesn't support big.LITTLE tunes, select the LITTLE tune
+CPU_TUNE_ARG:toolchain-clang = "cortex-a53"
+TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa73-cortexa53", " -mcpu=${CPU_TUNE_ARG}", "", d)}"
 
 require conf/machine/include/arm/arch-armv8a.inc