From 8fd537ae0550c3f66e575cfd380cad5334821046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20PORTAY?= Date: Tue, 15 Apr 2025 13:25:05 +0200 Subject: [PATCH] support/scripts/gen-bootlin-toolchains: allows armv8-a CPU to use armv7-a toolchains MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The ARMV7-A toolchains are capable to compile binaries for ARMv8-A CPU in AArch32 execution state. This adds the BR2_ARM_CPU_ARMV8A option in the 'conditions' to allow ARMV8-A CPU such as Cortex-A53 or Cortex-A72 to use ARMV7-A toolchains. Signed-off-by: Gaƫl PORTAY Signed-off-by: Thomas Petazzoni --- support/scripts/gen-bootlin-toolchains | 4 +- .../Config.in.options | 40 +++++++------------ 2 files changed, 16 insertions(+), 28 deletions(-) diff --git a/support/scripts/gen-bootlin-toolchains b/support/scripts/gen-bootlin-toolchains index 9ba5827cf6..502411d4cc 100755 --- a/support/scripts/gen-bootlin-toolchains +++ b/support/scripts/gen-bootlin-toolchains @@ -52,12 +52,12 @@ arches = { 'prefix': 'arm', }, 'armv7-eabihf': { - 'conditions': ['BR2_arm', 'BR2_ARM_CPU_ARMV7A', 'BR2_ARM_EABIHF'], + 'conditions': ['BR2_arm', '(BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A'], 'test_options': ['BR2_arm', 'BR2_cortex_a8', 'BR2_ARM_EABIHF'], 'prefix': 'arm', }, 'armebv7-eabihf': { - 'conditions': ['BR2_armeb', 'BR2_ARM_CPU_ARMV7A', 'BR2_ARM_EABIHF'], + 'conditions': ['BR2_armeb', '(BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A'], 'test_options': ['BR2_armeb', 'BR2_cortex_a8', 'BR2_ARM_EABIHF'], 'prefix': 'armeb', }, diff --git a/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options b/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options index 471dc55f44..ef3d23d026 100644 --- a/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options +++ b/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options @@ -8,8 +8,8 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS default y if BR2_arcle && BR2_archs38 default y if BR2_arm && BR2_ARM_CPU_ARMV5 && BR2_ARM_EABI default y if BR2_arm && BR2_ARM_CPU_ARMV6 && BR2_ARM_EABIHF - default y if BR2_arm && BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF - default y if BR2_armeb && BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF + default y if BR2_arm && (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A + default y if BR2_armeb && (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A default y if BR2_arm && BR2_ARM_CPU_ARMV7M && BR2_BINFMT_FLAT default y if BR2_m68k_m68k default y if BR2_m68k_cf @@ -816,8 +816,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV6_EABIHF_UCLIBC_STABLE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_BLEEDING_EDGE bool "armv7-eabihf glibc bleeding-edge 2024.05-1" depends on BR2_arm - depends on BR2_ARM_CPU_ARMV7A - depends on BR2_ARM_EABIHF + depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_15 depends on BR2_USE_MMU select BR2_TOOLCHAIN_GCC_AT_LEAST_14 @@ -843,8 +842,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_BLEEDING_EDGE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE bool "armv7-eabihf glibc stable 2024.05-1" depends on BR2_arm - depends on BR2_ARM_CPU_ARMV7A - depends on BR2_ARM_EABIHF + depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU select BR2_TOOLCHAIN_GCC_AT_LEAST_13 @@ -869,8 +867,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_BLEEDING_EDGE bool "armv7-eabihf musl bleeding-edge 2024.05-1" depends on BR2_arm - depends on BR2_ARM_CPU_ARMV7A - depends on BR2_ARM_EABIHF + depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_15 depends on BR2_USE_MMU select BR2_TOOLCHAIN_GCC_AT_LEAST_14 @@ -896,8 +893,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_BLEEDING_EDGE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_STABLE bool "armv7-eabihf musl stable 2024.05-1" depends on BR2_arm - depends on BR2_ARM_CPU_ARMV7A - depends on BR2_ARM_EABIHF + depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU select BR2_TOOLCHAIN_GCC_AT_LEAST_13 @@ -922,8 +918,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_STABLE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_BLEEDING_EDGE bool "armv7-eabihf uclibc bleeding-edge 2024.05-1" depends on BR2_arm - depends on BR2_ARM_CPU_ARMV7A - depends on BR2_ARM_EABIHF + depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_15 select BR2_TOOLCHAIN_GCC_AT_LEAST_14 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15 @@ -949,8 +944,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_BLEEDING_EDGE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_STABLE bool "armv7-eabihf uclibc stable 2024.05-1" depends on BR2_arm - depends on BR2_ARM_CPU_ARMV7A - depends on BR2_ARM_EABIHF + depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 select BR2_TOOLCHAIN_GCC_AT_LEAST_13 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19 @@ -975,8 +969,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_STABLE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_GLIBC_BLEEDING_EDGE bool "armebv7-eabihf glibc bleeding-edge 2024.05-1" depends on BR2_armeb - depends on BR2_ARM_CPU_ARMV7A - depends on BR2_ARM_EABIHF + depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_15 depends on BR2_USE_MMU select BR2_TOOLCHAIN_GCC_AT_LEAST_14 @@ -1002,8 +995,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_GLIBC_BLEEDING_EDGE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_GLIBC_STABLE bool "armebv7-eabihf glibc stable 2024.05-1" depends on BR2_armeb - depends on BR2_ARM_CPU_ARMV7A - depends on BR2_ARM_EABIHF + depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU select BR2_TOOLCHAIN_GCC_AT_LEAST_13 @@ -1028,8 +1020,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_GLIBC_STABLE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_MUSL_BLEEDING_EDGE bool "armebv7-eabihf musl bleeding-edge 2024.05-1" depends on BR2_armeb - depends on BR2_ARM_CPU_ARMV7A - depends on BR2_ARM_EABIHF + depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_15 depends on BR2_USE_MMU select BR2_TOOLCHAIN_GCC_AT_LEAST_14 @@ -1055,8 +1046,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_MUSL_BLEEDING_EDGE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_MUSL_STABLE bool "armebv7-eabihf musl stable 2024.05-1" depends on BR2_armeb - depends on BR2_ARM_CPU_ARMV7A - depends on BR2_ARM_EABIHF + depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 depends on BR2_USE_MMU select BR2_TOOLCHAIN_GCC_AT_LEAST_13 @@ -1081,8 +1071,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_MUSL_STABLE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_UCLIBC_BLEEDING_EDGE bool "armebv7-eabihf uclibc bleeding-edge 2024.05-1" depends on BR2_armeb - depends on BR2_ARM_CPU_ARMV7A - depends on BR2_ARM_EABIHF + depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_15 select BR2_TOOLCHAIN_GCC_AT_LEAST_14 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_15 @@ -1108,8 +1097,7 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_UCLIBC_BLEEDING_EDGE config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_UCLIBC_STABLE bool "armebv7-eabihf uclibc stable 2024.05-1" depends on BR2_armeb - depends on BR2_ARM_CPU_ARMV7A - depends on BR2_ARM_EABIHF + depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14 select BR2_TOOLCHAIN_GCC_AT_LEAST_13 select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19