[Buildroot] [git commit] support/scripts/gen-bootlin-toolchains: allows armv8-a CPU to use armv7-a toolchains
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Sat Apr 19 14:01:53 UTC 2025
commit: https://git.buildroot.net/buildroot/commit/?id=8fd537ae0550c3f66e575cfd380cad5334821046
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
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 <gael.portay+rtone at gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
---
support/scripts/gen-bootlin-toolchains | 4 +--
.../toolchain-external-bootlin/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
More information about the buildroot
mailing list