* [Buildroot] [PATCH RE-RESEND 1/2] support/scripts/gen-bootlin-toolchains: fix ARMv7 EABIhf toolchains condition
@ 2026-09-13 9:51 Thomas Petazzoni via buildroot
2026-09-13 9:51 ` [Buildroot] [PATCH RE-RESEND 2/2] toolchain/toolchain-external/toolchain-external-bootlin: regenerate after ARMv7 EABIhf toolchain fix Thomas Petazzoni via buildroot
2026-09-13 10:02 ` [Buildroot] [PATCH RE-RESEND 1/2] support/scripts/gen-bootlin-toolchains: fix ARMv7 EABIhf toolchains condition Julien Olivain via buildroot
0 siblings, 2 replies; 3+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-09-13 9:51 UTC (permalink / raw)
To: buildroot; +Cc: Thomas Petazzoni, Julien Olivain
The ARMv7 EABIhf toolchains can currently be selected with ARMv8 cores
selected, even when EABI is used due to how the condition is
constructed. This obviously fails as those toolchains are EABIhf,
causing the following build issue:
Incorrect ABI setting: EABI selected, but toolchain is incompatible
This is for example what happens with:
BR2_arm=y
BR2_cortex_a32=y
BR2_ARM_EABI=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_BLEEDING_EDGE=y
In order to address this, we adjust the script generating the Bootlin
toolchain package so that EABIhf is required for both ARMv7 and
ARMv8.
Please note that we already require BR2_arm for those toolchains, so
we are *only* talking about ARMv8 cores being used in 32-bit mode.
This will be needed to fix:
https://autobuild.buildroot.org/results/3ce1dbd480c71b782ef722c39034cb039a036523/
Reported-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
support/scripts/gen-bootlin-toolchains | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/support/scripts/gen-bootlin-toolchains b/support/scripts/gen-bootlin-toolchains
index 4579949d18..ee64a86902 100755
--- a/support/scripts/gen-bootlin-toolchains
+++ b/support/scripts/gen-bootlin-toolchains
@@ -53,12 +53,12 @@ arches = {
'prefix': 'arm',
},
'armv7-eabihf': {
- 'conditions': ['BR2_arm', '(BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A'],
+ 'conditions': ['BR2_arm', 'BR2_ARM_EABIHF', '(BR2_ARM_CPU_ARMV7A || 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) || BR2_ARM_CPU_ARMV8A'],
+ 'conditions': ['BR2_armeb', 'BR2_ARM_EABIHF', '(BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A)'],
'test_options': ['BR2_armeb', 'BR2_cortex_a8', 'BR2_ARM_EABIHF'],
'prefix': 'armeb',
},
--
2.55.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH RE-RESEND 2/2] toolchain/toolchain-external/toolchain-external-bootlin: regenerate after ARMv7 EABIhf toolchain fix
2026-09-13 9:51 [Buildroot] [PATCH RE-RESEND 1/2] support/scripts/gen-bootlin-toolchains: fix ARMv7 EABIhf toolchains condition Thomas Petazzoni via buildroot
@ 2026-09-13 9:51 ` Thomas Petazzoni via buildroot
2026-09-13 10:02 ` [Buildroot] [PATCH RE-RESEND 1/2] support/scripts/gen-bootlin-toolchains: fix ARMv7 EABIhf toolchains condition Julien Olivain via buildroot
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-09-13 9:51 UTC (permalink / raw)
To: buildroot; +Cc: Thomas Petazzoni, Julien Olivain, Giulio Benetti, Romain Naour
The gen-bootlin-toolchains script has been fixed to generate more
correct conditions for the ARMv7 EABIhf toolchains (both little and
big endian). This change will make sure the toolchain cannot be
selected in a BR2_arm=y, BR2_ARM_CPU_ARMV8A=y, BR2_ARM_EABI=y
configuration.
Fixes:
https://autobuild.buildroot.org/results/3ce1dbd480c71b782ef722c39034cb039a036523/
Reported-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
.../Config.in.options | 40 ++++++++++++-------
1 file changed, 26 insertions(+), 14 deletions(-)
diff --git a/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options b/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options
index 86d951e8a6..81cb3f0a05 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) || 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_EABIHF && (BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A)
+ default y if BR2_armeb && BR2_ARM_EABIHF && (BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A)
default y if BR2_arm && BR2_ARM_CPU_ARMV7M && BR2_BINFMT_FLAT
default y if BR2_m68k_m68k && BR2_USE_MMU
default y if BR2_m68k_cf
@@ -770,7 +770,8 @@ 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 2026.08-1"
depends on BR2_arm
- depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A
+ depends on BR2_ARM_EABIHF
+ depends on (BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A)
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_17
depends on BR2_USE_MMU
select BR2_TOOLCHAIN_GCC_AT_LEAST_16
@@ -794,7 +795,8 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_BLEEDING_EDGE
config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_STABLE
bool "armv7-eabihf glibc stable 2026.08-1"
depends on BR2_arm
- depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A
+ depends on BR2_ARM_EABIHF
+ depends on (BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A)
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_16
depends on BR2_USE_MMU
select BR2_TOOLCHAIN_GCC_AT_LEAST_15
@@ -817,7 +819,8 @@ 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 2026.08-1"
depends on BR2_arm
- depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A
+ depends on BR2_ARM_EABIHF
+ depends on (BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A)
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_17
depends on BR2_USE_MMU
select BR2_TOOLCHAIN_GCC_AT_LEAST_16
@@ -841,7 +844,8 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_BLEEDING_EDGE
config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_MUSL_STABLE
bool "armv7-eabihf musl stable 2026.08-1"
depends on BR2_arm
- depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A
+ depends on BR2_ARM_EABIHF
+ depends on (BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A)
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_16
depends on BR2_USE_MMU
select BR2_TOOLCHAIN_GCC_AT_LEAST_15
@@ -864,7 +868,8 @@ 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 2026.08-1"
depends on BR2_arm
- depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A
+ depends on BR2_ARM_EABIHF
+ depends on (BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A)
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_17
select BR2_TOOLCHAIN_GCC_AT_LEAST_16
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_12
@@ -889,7 +894,8 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_BLEEDING_EDGE
config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_UCLIBC_STABLE
bool "armv7-eabihf uclibc stable 2026.08-1"
depends on BR2_arm
- depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A
+ depends on BR2_ARM_EABIHF
+ depends on (BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A)
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_16
select BR2_TOOLCHAIN_GCC_AT_LEAST_15
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10
@@ -913,7 +919,8 @@ 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 2026.08-1"
depends on BR2_armeb
- depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A
+ depends on BR2_ARM_EABIHF
+ depends on (BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A)
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_17
depends on BR2_USE_MMU
select BR2_TOOLCHAIN_GCC_AT_LEAST_16
@@ -937,7 +944,8 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_GLIBC_BLEEDING_EDGE
config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_GLIBC_STABLE
bool "armebv7-eabihf glibc stable 2026.08-1"
depends on BR2_armeb
- depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A
+ depends on BR2_ARM_EABIHF
+ depends on (BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A)
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_16
depends on BR2_USE_MMU
select BR2_TOOLCHAIN_GCC_AT_LEAST_15
@@ -960,7 +968,8 @@ 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 2026.08-1"
depends on BR2_armeb
- depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A
+ depends on BR2_ARM_EABIHF
+ depends on (BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A)
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_17
depends on BR2_USE_MMU
select BR2_TOOLCHAIN_GCC_AT_LEAST_16
@@ -984,7 +993,8 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_MUSL_BLEEDING_EDGE
config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_MUSL_STABLE
bool "armebv7-eabihf musl stable 2026.08-1"
depends on BR2_armeb
- depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A
+ depends on BR2_ARM_EABIHF
+ depends on (BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A)
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_16
depends on BR2_USE_MMU
select BR2_TOOLCHAIN_GCC_AT_LEAST_15
@@ -1007,7 +1017,8 @@ 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 2026.08-1"
depends on BR2_armeb
- depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A
+ depends on BR2_ARM_EABIHF
+ depends on (BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A)
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_17
select BR2_TOOLCHAIN_GCC_AT_LEAST_16
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_12
@@ -1032,7 +1043,8 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_UCLIBC_BLEEDING_EDGE
config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMEBV7_EABIHF_UCLIBC_STABLE
bool "armebv7-eabihf uclibc stable 2026.08-1"
depends on BR2_armeb
- depends on (BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF) || BR2_ARM_CPU_ARMV8A
+ depends on BR2_ARM_EABIHF
+ depends on (BR2_ARM_CPU_ARMV7A || BR2_ARM_CPU_ARMV8A)
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_16
select BR2_TOOLCHAIN_GCC_AT_LEAST_15
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10
--
2.55.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH RE-RESEND 1/2] support/scripts/gen-bootlin-toolchains: fix ARMv7 EABIhf toolchains condition
2026-09-13 9:51 [Buildroot] [PATCH RE-RESEND 1/2] support/scripts/gen-bootlin-toolchains: fix ARMv7 EABIhf toolchains condition Thomas Petazzoni via buildroot
2026-09-13 9:51 ` [Buildroot] [PATCH RE-RESEND 2/2] toolchain/toolchain-external/toolchain-external-bootlin: regenerate after ARMv7 EABIhf toolchain fix Thomas Petazzoni via buildroot
@ 2026-09-13 10:02 ` Julien Olivain via buildroot
1 sibling, 0 replies; 3+ messages in thread
From: Julien Olivain via buildroot @ 2026-09-13 10:02 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: buildroot
On 13/09/2026 11:51, Thomas Petazzoni via buildroot wrote:
> The ARMv7 EABIhf toolchains can currently be selected with ARMv8 cores
> selected, even when EABI is used due to how the condition is
> constructed. This obviously fails as those toolchains are EABIhf,
> causing the following build issue:
>
> Incorrect ABI setting: EABI selected, but toolchain is incompatible
>
> This is for example what happens with:
>
> BR2_arm=y
> BR2_cortex_a32=y
> BR2_ARM_EABI=y
> BR2_TOOLCHAIN_EXTERNAL=y
> BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARMV7_EABIHF_GLIBC_BLEEDING_EDGE=y
>
> In order to address this, we adjust the script generating the Bootlin
> toolchain package so that EABIhf is required for both ARMv7 and
> ARMv8.
>
> Please note that we already require BR2_arm for those toolchains, so
> we are *only* talking about ARMv8 cores being used in 32-bit mode.
>
> This will be needed to fix:
>
>
> https://autobuild.buildroot.org/results/3ce1dbd480c71b782ef722c39034cb039a036523/
>
> Reported-by: Julien Olivain <ju.o@free.fr>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Series applied to master, thanks.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-09-13 10:02 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-13 9:51 [Buildroot] [PATCH RE-RESEND 1/2] support/scripts/gen-bootlin-toolchains: fix ARMv7 EABIhf toolchains condition Thomas Petazzoni via buildroot
2026-09-13 9:51 ` [Buildroot] [PATCH RE-RESEND 2/2] toolchain/toolchain-external/toolchain-external-bootlin: regenerate after ARMv7 EABIhf toolchain fix Thomas Petazzoni via buildroot
2026-09-13 10:02 ` [Buildroot] [PATCH RE-RESEND 1/2] support/scripts/gen-bootlin-toolchains: fix ARMv7 EABIhf toolchains condition Julien Olivain via buildroot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.