* [Buildroot] [PATCH 1/7] package/uclibc: introduce and use BR2_PACKAGE_UCLIBC_ARCH_SUPPORTS and BR2_PACKAGE_UCLIBC_SUPPORTS
2022-06-05 19:42 [Buildroot] [PATCH 0/7] Fix a number of toolchain dependency issues Thomas Petazzoni via buildroot
@ 2022-06-05 19:42 ` Thomas Petazzoni via buildroot
2022-06-05 19:42 ` [Buildroot] [PATCH 2/7] package/glibc: introduce and use BR2_PACKAGE_GLIBC_ARCH_SUPPORTS and BR2_PACKAGE_GLIBC_SUPPORTS Thomas Petazzoni via buildroot
` (7 subsequent siblings)
8 siblings, 0 replies; 16+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-06-05 19:42 UTC (permalink / raw)
To: Buildroot List, Arnout Vandecappelle (Essensium/Mind),
James Hilliard, Yann E. MORIN
Cc: Romain Naour, Giulio Benetti, Thomas Petazzoni,
Thomas De Schampheleire
From: James Hilliard <james.hilliard1@gmail.com>
In this commit BR2_PACKAGE_UCLIBC_SUPPORTS looks redundant with
BR2_PACKAGE_UCLIBC_ARCH_SUPPORTS, but for other C libraries, they will
be different. To be consistent, we use the same pattern for uClibc as
well.
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
package/uclibc/Config.in | 28 +++++++++++++++++++++++++
toolchain/toolchain-buildroot/Config.in | 8 +------
2 files changed, 29 insertions(+), 7 deletions(-)
diff --git a/package/uclibc/Config.in b/package/uclibc/Config.in
index 310414bebc..754c3ea014 100644
--- a/package/uclibc/Config.in
+++ b/package/uclibc/Config.in
@@ -1,3 +1,31 @@
+config BR2_PACKAGE_UCLIBC_ARCH_SUPPORTS
+ bool
+ default y if BR2_aarch64
+ default y if BR2_aarch64_be
+ default y if BR2_arcle
+ default y if BR2_arceb
+ default y if BR2_arm
+ default y if BR2_armeb
+ default y if BR2_i386
+ default y if BR2_m68k
+ default y if BR2_microblaze
+ default y if BR2_mips
+ default y if BR2_mipsel
+ default y if BR2_mips64
+ default y if BR2_mips64el
+ default y if BR2_or1k
+ default y if BR2_powerpc
+ default y if BR2_RISCV_64
+ default y if BR2_sh4
+ default y if BR2_sh4eb
+ default y if BR2_sparc
+ default y if BR2_xtensa
+ default y if BR2_x86_64
+
+config BR2_PACKAGE_UCLIBC_SUPPORTS
+ bool
+ default y if BR2_PACKAGE_UCLIBC_ARCH_SUPPORTS
+
if BR2_TOOLCHAIN_BUILDROOT_UCLIBC
comment "uClibc Options"
diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in
index 559c254622..31f2be8b25 100644
--- a/toolchain/toolchain-buildroot/Config.in
+++ b/toolchain/toolchain-buildroot/Config.in
@@ -27,13 +27,7 @@ choice
config BR2_TOOLCHAIN_BUILDROOT_UCLIBC
bool "uClibc-ng"
- depends on BR2_aarch64 || BR2_aarch64_be || BR2_arcle || BR2_arceb || \
- BR2_arm || BR2_armeb || \
- BR2_i386 || BR2_m68k || BR2_microblaze || \
- BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || \
- BR2_or1k || BR2_powerpc || BR2_RISCV_64 || \
- BR2_sh4 || BR2_sh4eb || BR2_sparc || BR2_xtensa || \
- BR2_x86_64
+ depends on BR2_PACKAGE_UCLIBC_SUPPORTS
select BR2_TOOLCHAIN_USES_UCLIBC
help
This option selects uClibc-ng as the C library for the
--
2.35.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 16+ messages in thread* [Buildroot] [PATCH 2/7] package/glibc: introduce and use BR2_PACKAGE_GLIBC_ARCH_SUPPORTS and BR2_PACKAGE_GLIBC_SUPPORTS
2022-06-05 19:42 [Buildroot] [PATCH 0/7] Fix a number of toolchain dependency issues Thomas Petazzoni via buildroot
2022-06-05 19:42 ` [Buildroot] [PATCH 1/7] package/uclibc: introduce and use BR2_PACKAGE_UCLIBC_ARCH_SUPPORTS and BR2_PACKAGE_UCLIBC_SUPPORTS Thomas Petazzoni via buildroot
@ 2022-06-05 19:42 ` Thomas Petazzoni via buildroot
2022-06-05 19:42 ` [Buildroot] [PATCH 3/7] package/musl: introduce and use BR2_PACKAGE_MUSL_ARCH_SUPPORTS and BR2_PACKAGE_MUSL_SUPPORTS Thomas Petazzoni via buildroot
` (6 subsequent siblings)
8 siblings, 0 replies; 16+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-06-05 19:42 UTC (permalink / raw)
To: Buildroot List, Arnout Vandecappelle (Essensium/Mind),
James Hilliard, Yann E. MORIN
Cc: Thomas De Schampheleire, Giulio Benetti, Romain Naour,
Thomas Petazzoni
From: James Hilliard <james.hilliard1@gmail.com>
As part of this, the dependency of the comment "glibc needs a
toolchain w/ dynamic library, kernel headers >= 3.2" is changed to use
BR2_PACKAGE_GLIBC_ARCH_SUPPORTS instead of just BR2_USE_MMU, so that
the comment only appears on architectures for which glibc is supported
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
package/glibc/Config.in | 38 +++++++++++++++++++++++++
toolchain/toolchain-buildroot/Config.in | 20 ++-----------
2 files changed, 40 insertions(+), 18 deletions(-)
diff --git a/package/glibc/Config.in b/package/glibc/Config.in
index 8e9ddac7d9..56f7299568 100644
--- a/package/glibc/Config.in
+++ b/package/glibc/Config.in
@@ -1,3 +1,41 @@
+config BR2_PACKAGE_GLIBC_ARCH_SUPPORTS
+ bool
+ default y if BR2_arm
+ default y if BR2_armeb
+ default y if BR2_aarch64
+ default y if BR2_aarch64_be
+ default y if BR2_i386
+ default y if BR2_mips
+ default y if BR2_mipsel
+ default y if BR2_mips64
+ default y if BR2_mips64el
+ default y if BR2_or1k
+ default y if BR2_powerpc
+ default y if BR2_powerpc64
+ default y if BR2_powerpc_power8
+ default y if BR2_riscv
+ default y if BR2_s390x
+ default y if BR2_sh
+ default y if BR2_sparc64
+ default y if BR2_x86_64
+ default y if BR2_microblaze
+ default y if BR2_nios2
+ default y if BR2_arc && BR2_ARC_ATOMIC_EXT
+ default y if BR2_csky
+ depends on !BR2_powerpc_SPE
+ depends on BR2_RISCV_ISA_RVA || !BR2_riscv
+ depends on BR2_USE_MMU
+
+config BR2_PACKAGE_GLIBC_SUPPORTS
+ bool
+ default y if BR2_PACKAGE_GLIBC_ARCH_SUPPORTS
+ depends on !BR2_STATIC_LIBS
+ depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
+ depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 || !BR2_powerpc64le
+ depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 || !BR2_MIPS_NAN_2008
+ depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 || !BR2_RISCV_64
+ depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1 || !BR2_arc
+
if BR2_TOOLCHAIN_BUILDROOT_GLIBC
comment "Glibc Options"
diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in
index 31f2be8b25..7ce2998cf7 100644
--- a/toolchain/toolchain-buildroot/Config.in
+++ b/toolchain/toolchain-buildroot/Config.in
@@ -37,23 +37,7 @@ config BR2_TOOLCHAIN_BUILDROOT_UCLIBC
config BR2_TOOLCHAIN_BUILDROOT_GLIBC
bool "glibc"
- depends on BR2_arm || BR2_armeb || BR2_aarch64 || \
- BR2_aarch64_be || BR2_i386 || BR2_mips || \
- BR2_mipsel || BR2_mips64 || BR2_mips64el|| \
- BR2_powerpc || BR2_powerpc64 || BR2_powerpc_power8 || \
- BR2_riscv || BR2_s390x || BR2_sh || \
- BR2_sparc64 || BR2_x86_64 || BR2_microblaze || \
- BR2_nios2 || (BR2_arc && BR2_ARC_ATOMIC_EXT) || \
- BR2_csky || BR2_or1k
- depends on BR2_USE_MMU
- depends on !BR2_STATIC_LIBS
- depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
- depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 || !BR2_powerpc64le
- depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5 || !BR2_MIPS_NAN_2008
- depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0 || !BR2_RISCV_64
- depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1 || !BR2_arc
- depends on !BR2_powerpc_SPE
- depends on BR2_RISCV_ISA_RVA || !BR2_riscv
+ depends on BR2_PACKAGE_GLIBC_SUPPORTS
select BR2_TOOLCHAIN_USES_GLIBC
help
This option selects glibc as the C library for the
@@ -62,7 +46,7 @@ config BR2_TOOLCHAIN_BUILDROOT_GLIBC
http://www.gnu.org/software/libc/
comment "glibc needs a toolchain w/ dynamic library, kernel headers >= 3.2"
- depends on BR2_USE_MMU
+ depends on BR2_PACKAGE_GLIBC_ARCH_SUPPORTS
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2
# glibc >= 2.26 require kernel headers >= 3.10 on powerpc64le.
--
2.35.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 16+ messages in thread* [Buildroot] [PATCH 3/7] package/musl: introduce and use BR2_PACKAGE_MUSL_ARCH_SUPPORTS and BR2_PACKAGE_MUSL_SUPPORTS
2022-06-05 19:42 [Buildroot] [PATCH 0/7] Fix a number of toolchain dependency issues Thomas Petazzoni via buildroot
2022-06-05 19:42 ` [Buildroot] [PATCH 1/7] package/uclibc: introduce and use BR2_PACKAGE_UCLIBC_ARCH_SUPPORTS and BR2_PACKAGE_UCLIBC_SUPPORTS Thomas Petazzoni via buildroot
2022-06-05 19:42 ` [Buildroot] [PATCH 2/7] package/glibc: introduce and use BR2_PACKAGE_GLIBC_ARCH_SUPPORTS and BR2_PACKAGE_GLIBC_SUPPORTS Thomas Petazzoni via buildroot
@ 2022-06-05 19:42 ` Thomas Petazzoni via buildroot
2022-06-05 19:42 ` [Buildroot] [PATCH 4/7] Config.in: only allow BR2_STATIC_LIBS on supported libc/arch Thomas Petazzoni via buildroot
` (5 subsequent siblings)
8 siblings, 0 replies; 16+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-06-05 19:42 UTC (permalink / raw)
To: Buildroot List, Arnout Vandecappelle (Essensium/Mind),
James Hilliard, Yann E. MORIN
Cc: Giulio Benetti, Romain Naour, Thomas De Schampheleire,
Thomas Petazzoni
From: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
package/musl/Config.in | 28 +++++++++++++++++++++++++
toolchain/toolchain-buildroot/Config.in | 10 +--------
2 files changed, 29 insertions(+), 9 deletions(-)
diff --git a/package/musl/Config.in b/package/musl/Config.in
index 69da615b63..c1a10bdd58 100644
--- a/package/musl/Config.in
+++ b/package/musl/Config.in
@@ -1,3 +1,31 @@
+config BR2_PACKAGE_MUSL_ARCH_SUPPORTS
+ bool
+ default y if BR2_aarch64
+ default y if BR2_arm
+ default y if BR2_armeb
+ default y if BR2_i386
+ default y if BR2_microblaze
+ default y if BR2_mips
+ default y if BR2_mipsel
+ default y if BR2_mips64
+ default y if BR2_mips64el
+ default y if BR2_or1k
+ default y if BR2_powerpc
+ default y if BR2_powerpc64
+ default y if BR2_powerpc64le
+ default y if BR2_RISCV_64
+ default y if BR2_sh
+ default y if BR2_x86_64
+ depends on !BR2_powerpc_SPE # not supported, build breaks
+ depends on !(BR2_powerpc64 || BR2_powerpc64le) || BR2_POWERPC_CPU_HAS_ALTIVEC
+ # sh2 nommu is supported by musl, but we don't have support
+ # for it in Buildroot.
+ depends on BR2_USE_MMU
+
+config BR2_PACKAGE_MUSL_SUPPORTS
+ bool
+ default y if BR2_PACKAGE_MUSL_ARCH_SUPPORTS
+
config BR2_PACKAGE_MUSL
bool
default y
diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in
index 7ce2998cf7..0dac816a4d 100644
--- a/toolchain/toolchain-buildroot/Config.in
+++ b/toolchain/toolchain-buildroot/Config.in
@@ -61,15 +61,7 @@ comment "glibc on MIPS w/ NAN2008 needs a toolchain w/ headers >= 4.5"
config BR2_TOOLCHAIN_BUILDROOT_MUSL
bool "musl"
- depends on BR2_aarch64 || BR2_arm || BR2_armeb || BR2_i386 || \
- BR2_microblaze || BR2_mips || BR2_mipsel || BR2_mips64 || \
- BR2_mips64el || BR2_or1k || BR2_powerpc || BR2_powerpc64 || \
- BR2_powerpc64le || BR2_RISCV_64 || BR2_sh || BR2_x86_64
- depends on !BR2_powerpc_SPE # not supported, build breaks
- depends on !(BR2_powerpc64 || BR2_powerpc64le) || BR2_POWERPC_CPU_HAS_ALTIVEC
- # sh2 nommu is supported by musl, but we don't have support
- # for it in Buildroot.
- depends on BR2_USE_MMU
+ depends on BR2_PACKAGE_MUSL_SUPPORTS
select BR2_TOOLCHAIN_USES_MUSL
help
This option selects musl as the C library for the
--
2.35.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 16+ messages in thread* [Buildroot] [PATCH 4/7] Config.in: only allow BR2_STATIC_LIBS on supported libc/arch
2022-06-05 19:42 [Buildroot] [PATCH 0/7] Fix a number of toolchain dependency issues Thomas Petazzoni via buildroot
` (2 preceding siblings ...)
2022-06-05 19:42 ` [Buildroot] [PATCH 3/7] package/musl: introduce and use BR2_PACKAGE_MUSL_ARCH_SUPPORTS and BR2_PACKAGE_MUSL_SUPPORTS Thomas Petazzoni via buildroot
@ 2022-06-05 19:42 ` Thomas Petazzoni via buildroot
2022-06-05 19:42 ` [Buildroot] [PATCH 5/7] arch/Config.in.powerpc: disable some variants on ppc64le Thomas Petazzoni via buildroot
` (4 subsequent siblings)
8 siblings, 0 replies; 16+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-06-05 19:42 UTC (permalink / raw)
To: Buildroot List, Arnout Vandecappelle (Essensium/Mind),
James Hilliard, Yann E. MORIN
Cc: Romain Naour, Giulio Benetti, Thomas De Schampheleire,
Thomas Petazzoni
From: James Hilliard <james.hilliard1@gmail.com>
It is currently possible to select BR2_STATIC_LIBS while
BR2_TOOLCHAIN_BUILDROOT is selected even when there are no buildroot
toolchains that support BR2_STATIC_LIBS for the selected architecture.
Add BR2_TOOLCHAIN_BUILDROOT_STATIC_LIBS_SUPPORTS so that we can
disable the selection of BR2_STATIC_LIBS when using an unsupported
architecture.
Fixes:
- http://autobuild.buildroot.net/results/4da59af8193376ec893321c4c2aaf1d25598502d
- http://autobuild.buildroot.net/results/1950348218a4f097f078d158977c13f8b0a97d6e
- http://autobuild.buildroot.net/results/2f03f2be32ad9898a990f6f0264d8c8d51991eb1
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
Config.in | 2 ++
toolchain/toolchain-buildroot/Config.in | 5 +++++
2 files changed, 7 insertions(+)
diff --git a/Config.in b/Config.in
index f0cd6f48ed..52c3c4b4c8 100644
--- a/Config.in
+++ b/Config.in
@@ -601,6 +601,8 @@ choice
config BR2_STATIC_LIBS
bool "static only"
+ depends on !BR2_TOOLCHAIN_BUILDROOT || \
+ BR2_TOOLCHAIN_BUILDROOT_STATIC_LIBS_SUPPORTS
help
Build and use only static libraries. No shared libraries will
be installed on the target. This potentially increases your
diff --git a/toolchain/toolchain-buildroot/Config.in b/toolchain/toolchain-buildroot/Config.in
index 0dac816a4d..11566c27ff 100644
--- a/toolchain/toolchain-buildroot/Config.in
+++ b/toolchain/toolchain-buildroot/Config.in
@@ -20,6 +20,11 @@ config BR2_TOOLCHAIN_BUILDROOT_VENDOR
If you're not sure, just leave the default "buildroot" value.
+config BR2_TOOLCHAIN_BUILDROOT_STATIC_LIBS_SUPPORTS
+ bool
+ default y if BR2_PACKAGE_UCLIBC_SUPPORTS
+ default y if BR2_PACKAGE_MUSL_SUPPORTS
+
choice
prompt "C library"
default BR2_TOOLCHAIN_BUILDROOT_UCLIBC
--
2.35.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 16+ messages in thread* [Buildroot] [PATCH 5/7] arch/Config.in.powerpc: disable some variants on ppc64le
2022-06-05 19:42 [Buildroot] [PATCH 0/7] Fix a number of toolchain dependency issues Thomas Petazzoni via buildroot
` (3 preceding siblings ...)
2022-06-05 19:42 ` [Buildroot] [PATCH 4/7] Config.in: only allow BR2_STATIC_LIBS on supported libc/arch Thomas Petazzoni via buildroot
@ 2022-06-05 19:42 ` Thomas Petazzoni via buildroot
2022-06-06 9:45 ` Romain Naour
2022-06-05 19:42 ` [Buildroot] [PATCH 6/7] support/scripts/gen-bootlin-toolchains: properly take into account !BR2_STATIC_LIBS for glibc toolchains Thomas Petazzoni via buildroot
` (3 subsequent siblings)
8 siblings, 1 reply; 16+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-06-05 19:42 UTC (permalink / raw)
To: Buildroot List, Arnout Vandecappelle (Essensium/Mind),
James Hilliard, Yann E. MORIN
Cc: Cyril Bur, Thomas Petazzoni
Following commit
e59b3acc3603e55fbaec25406258ec9ca9623564 ("toolchain/glibc: Restrict
ppc64le support to power8"), when selecting ppc64le as the
architecture, it is possible to end up with a selection for which no C
library is provided.
Indeed:
- glibc only supports Power8
- uclibc has no support for ppc64le at all
- musl only supports ppc64le processors that have Altivec support
Therefore, this commit adds "depends on !BR2_powerpc64le" to those
PowerPC architecture variants for which no C library support exists.
Fixes:
http://autobuild.buildroot.net/results/3f6fb1c2d5648e78f7856bdea3171b5a89dfa2f9/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
arch/Config.in.powerpc | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/arch/Config.in.powerpc b/arch/Config.in.powerpc
index 272f66f4e7..c48edd3bb4 100644
--- a/arch/Config.in.powerpc
+++ b/arch/Config.in.powerpc
@@ -14,6 +14,8 @@ choice
Specific CPU variant to use
config BR2_generic_powerpc
bool "generic"
+ # No C library supports this variant on ppc64le
+ depends on !BR2_powerpc64le
config BR2_powerpc_401
bool "401"
depends on !BR2_ARCH_IS_64
@@ -64,8 +66,12 @@ config BR2_powerpc_604e
depends on !BR2_ARCH_IS_64
config BR2_powerpc_620
bool "620"
+ # No C library supports this variant on ppc64le
+ depends on !BR2_powerpc64le
config BR2_powerpc_630
bool "630"
+ # No C library supports this variant on ppc64le
+ depends on !BR2_powerpc64le
config BR2_powerpc_740
bool "740"
depends on !BR2_ARCH_IS_64
@@ -118,8 +124,12 @@ config BR2_powerpc_e6500
select BR2_POWERPC_CPU_HAS_ALTIVEC
config BR2_powerpc_power4
bool "power4"
+ # No C library supports this variant on ppc64le
+ depends on !BR2_powerpc64le
config BR2_powerpc_power5
bool "power5"
+ # No C library supports this variant on ppc64le
+ depends on !BR2_powerpc64le
config BR2_powerpc_power6
bool "power6"
select BR2_POWERPC_CPU_HAS_ALTIVEC
--
2.35.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 16+ messages in thread* Re: [Buildroot] [PATCH 5/7] arch/Config.in.powerpc: disable some variants on ppc64le
2022-06-05 19:42 ` [Buildroot] [PATCH 5/7] arch/Config.in.powerpc: disable some variants on ppc64le Thomas Petazzoni via buildroot
@ 2022-06-06 9:45 ` Romain Naour
2022-06-07 2:41 ` Joel Stanley
0 siblings, 1 reply; 16+ messages in thread
From: Romain Naour @ 2022-06-06 9:45 UTC (permalink / raw)
To: Thomas Petazzoni, Buildroot List,
Arnout Vandecappelle (Essensium/Mind), James Hilliard,
Yann E. MORIN
Cc: Cyril Bur
Hello Thomas,
Le 05/06/2022 à 21:42, Thomas Petazzoni via buildroot a écrit :
> Following commit
> e59b3acc3603e55fbaec25406258ec9ca9623564 ("toolchain/glibc: Restrict
> ppc64le support to power8"), when selecting ppc64le as the
> architecture, it is possible to end up with a selection for which no C
> library is provided.
>
> Indeed:
>
> - glibc only supports Power8
> - uclibc has no support for ppc64le at all
> - musl only supports ppc64le processors that have Altivec support
>
> Therefore, this commit adds "depends on !BR2_powerpc64le" to those
> PowerPC architecture variants for which no C library support exists.
>
> Fixes:
>
> http://autobuild.buildroot.net/results/3f6fb1c2d5648e78f7856bdea3171b5a89dfa2f9/
Not related to this patch but it seems that uClibc-ng only support powerpc
(BR2_powerpc) without ALTIVEC support (!BR2_POWERPC_CPU_HAS_ALTIVEC).
As soon as BR2_POWERPC_CPU_HAS_ALTIVEC is set, the uclibc-ng build due a
conflicting types for 'elf_vrreg_t':
http://autobuild.buildroot.net/results/084/084bd1df5cf10c81646d6edf01f5347a35fc9e6b/build-end.log
This was not noticed by Toolchain-builder project since it only build powerpc
configuration without altivec support (e300c3, 440fp, e500mc).
https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/fragments/powerpc-e300c3--uclibc--bleeding-edge-2020.08-1.frag
Surprisingly, it also fail with power4 and power5 where
BR2_POWERPC_CPU_HAS_ALTIVEC is not set but with the same error.
It seems broken since always, we should restrict uClibc-ng to all know working
configuration.
Best regards,
Romain
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
> arch/Config.in.powerpc | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/arch/Config.in.powerpc b/arch/Config.in.powerpc
> index 272f66f4e7..c48edd3bb4 100644
> --- a/arch/Config.in.powerpc
> +++ b/arch/Config.in.powerpc
> @@ -14,6 +14,8 @@ choice
> Specific CPU variant to use
> config BR2_generic_powerpc
> bool "generic"
> + # No C library supports this variant on ppc64le
> + depends on !BR2_powerpc64le
> config BR2_powerpc_401
> bool "401"
> depends on !BR2_ARCH_IS_64
> @@ -64,8 +66,12 @@ config BR2_powerpc_604e
> depends on !BR2_ARCH_IS_64
> config BR2_powerpc_620
> bool "620"
> + # No C library supports this variant on ppc64le
> + depends on !BR2_powerpc64le
> config BR2_powerpc_630
> bool "630"
> + # No C library supports this variant on ppc64le
> + depends on !BR2_powerpc64le
> config BR2_powerpc_740
> bool "740"
> depends on !BR2_ARCH_IS_64
> @@ -118,8 +124,12 @@ config BR2_powerpc_e6500
> select BR2_POWERPC_CPU_HAS_ALTIVEC
> config BR2_powerpc_power4
> bool "power4"
> + # No C library supports this variant on ppc64le
> + depends on !BR2_powerpc64le
> config BR2_powerpc_power5
> bool "power5"
> + # No C library supports this variant on ppc64le
> + depends on !BR2_powerpc64le
> config BR2_powerpc_power6
> bool "power6"
> select BR2_POWERPC_CPU_HAS_ALTIVEC
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 16+ messages in thread* Re: [Buildroot] [PATCH 5/7] arch/Config.in.powerpc: disable some variants on ppc64le
2022-06-06 9:45 ` Romain Naour
@ 2022-06-07 2:41 ` Joel Stanley
0 siblings, 0 replies; 16+ messages in thread
From: Joel Stanley @ 2022-06-07 2:41 UTC (permalink / raw)
To: Romain Naour, Thomas Petazzoni, Michael Ellerman
Cc: Cyril Bur, James Hilliard, Yann E. MORIN, Buildroot List
On Mon, 6 Jun 2022 at 09:46, Romain Naour <romain.naour@gmail.com> wrote:
>
> Hello Thomas,
>
> Le 05/06/2022 à 21:42, Thomas Petazzoni via buildroot a écrit :
> > Following commit
> > e59b3acc3603e55fbaec25406258ec9ca9623564 ("toolchain/glibc: Restrict
> > ppc64le support to power8"), when selecting ppc64le as the
> > architecture, it is possible to end up with a selection for which no C
> > library is provided.
> >
> > Indeed:
> >
> > - glibc only supports Power8
> > - uclibc has no support for ppc64le at all
> > - musl only supports ppc64le processors that have Altivec support
> >
> > Therefore, this commit adds "depends on !BR2_powerpc64le" to those
> > PowerPC architecture variants for which no C library support exists.
> >
> > Fixes:
> >
> > http://autobuild.buildroot.net/results/3f6fb1c2d5648e78f7856bdea3171b5a89dfa2f9/
>
> Not related to this patch but it seems that uClibc-ng only support powerpc
> (BR2_powerpc) without ALTIVEC support (!BR2_POWERPC_CPU_HAS_ALTIVEC).
>
> As soon as BR2_POWERPC_CPU_HAS_ALTIVEC is set, the uclibc-ng build due a
> conflicting types for 'elf_vrreg_t':
>
> http://autobuild.buildroot.net/results/084/084bd1df5cf10c81646d6edf01f5347a35fc9e6b/build-end.log
>
> This was not noticed by Toolchain-builder project since it only build powerpc
> configuration without altivec support (e300c3, 440fp, e500mc).
>
> https://toolchains.bootlin.com/downloads/releases/toolchains/powerpc-e300c3/fragments/powerpc-e300c3--uclibc--bleeding-edge-2020.08-1.frag
>
> Surprisingly, it also fail with power4 and power5 where
> BR2_POWERPC_CPU_HAS_ALTIVEC is not set but with the same error.
These are 64 bit machines, and uclibc doesn't support ppc64 big or
little endian.
>
> It seems broken since always, we should restrict uClibc-ng to all know working
> configuration.
We should disable 32 bit userspace for the 64bit CPUs. While they can
run a 32 bit userspace with an appropriate kernel, it doesn't make
sense to expose that option.
The options are:
- 32 bit big endian
- 32 bit little endian
- 64 bit big endian (power4 onwards, and other non-IBM CPUs)
- 64 bit little endian (power8 onwards, and other non-IBM CPUs)
Power8 and onwards can run big endian, but it's not common. RHEL,
SuSe, Ubuntu build little endian only.
I have had a few goes at writing some kconfig to express this, but I
didn't get something that was worth posting. Thomas' patch has gone in
the tree, and this improves the situation a little, but there's still
the case of being able to select 32 bit for the 64 bit CPUs.
We could add "depends on BR2_ARCH_IS_64" to the 64 bit CPUs?
>
> Best regards,
> Romain
>
>
> >
> > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > ---
> > arch/Config.in.powerpc | 10 ++++++++++
> > 1 file changed, 10 insertions(+)
> >
> > diff --git a/arch/Config.in.powerpc b/arch/Config.in.powerpc
> > index 272f66f4e7..c48edd3bb4 100644
> > --- a/arch/Config.in.powerpc
> > +++ b/arch/Config.in.powerpc
> > @@ -14,6 +14,8 @@ choice
> > Specific CPU variant to use
> > config BR2_generic_powerpc
> > bool "generic"
> > + # No C library supports this variant on ppc64le
> > + depends on !BR2_powerpc64le
> > config BR2_powerpc_401
> > bool "401"
> > depends on !BR2_ARCH_IS_64
> > @@ -64,8 +66,12 @@ config BR2_powerpc_604e
> > depends on !BR2_ARCH_IS_64
> > config BR2_powerpc_620
> > bool "620"
> > + # No C library supports this variant on ppc64le
> > + depends on !BR2_powerpc64le
> > config BR2_powerpc_630
> > bool "630"
> > + # No C library supports this variant on ppc64le
> > + depends on !BR2_powerpc64le
> > config BR2_powerpc_740
> > bool "740"
> > depends on !BR2_ARCH_IS_64
> > @@ -118,8 +124,12 @@ config BR2_powerpc_e6500
> > select BR2_POWERPC_CPU_HAS_ALTIVEC
> > config BR2_powerpc_power4
> > bool "power4"
> > + # No C library supports this variant on ppc64le
> > + depends on !BR2_powerpc64le
> > config BR2_powerpc_power5
> > bool "power5"
> > + # No C library supports this variant on ppc64le
> > + depends on !BR2_powerpc64le
> > config BR2_powerpc_power6
> > bool "power6"
> > select BR2_POWERPC_CPU_HAS_ALTIVEC
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 6/7] support/scripts/gen-bootlin-toolchains: properly take into account !BR2_STATIC_LIBS for glibc toolchains
2022-06-05 19:42 [Buildroot] [PATCH 0/7] Fix a number of toolchain dependency issues Thomas Petazzoni via buildroot
` (4 preceding siblings ...)
2022-06-05 19:42 ` [Buildroot] [PATCH 5/7] arch/Config.in.powerpc: disable some variants on ppc64le Thomas Petazzoni via buildroot
@ 2022-06-05 19:42 ` Thomas Petazzoni via buildroot
2022-06-05 20:24 ` Yann E. MORIN
2022-06-05 19:42 ` [Buildroot] [PATCH 7/7] toolchain/toolchain-external/toolchain-external-bootlin: regenerate with correct !BR2_STATIC_LIBS handling Thomas Petazzoni via buildroot
` (2 subsequent siblings)
8 siblings, 1 reply; 16+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-06-05 19:42 UTC (permalink / raw)
To: Buildroot List, Arnout Vandecappelle (Essensium/Mind),
James Hilliard, Yann E. MORIN
Cc: Thomas Petazzoni
The Config.in options created for each toolchain were properly taking
into account the !BR2_STATIC_LIBS dependency of glibc
toolchains. However, this dependency was not taken into account into
the main BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS
option. Consequently, if an architecture is only supported by glibc,
but BR2_STATIC_LIBS is enabled, the main "Bootlin toolchain" option
was visible... but with no selectable toolchain.
We fix this by making sure that
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS is only true for all
architectures supported, taking into account the fact that some
architectures can only be supported if !BR2_STATIC_LIBS, when the only
available C library is glibc.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
support/scripts/gen-bootlin-toolchains | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/support/scripts/gen-bootlin-toolchains b/support/scripts/gen-bootlin-toolchains
index f9dd9da9a8..97a744340a 100755
--- a/support/scripts/gen-bootlin-toolchains
+++ b/support/scripts/gen-bootlin-toolchains
@@ -482,7 +482,10 @@ def gen_config_in_options(toolchains, fpath):
f.write("config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS\n")
f.write("\tbool\n")
for arch, details in arches.items():
- f.write("\tdefault y if %s\n" % " && ".join(details['conditions']))
+ conditions = details['conditions'].copy()
+ if set([t.libc for t in toolchains if t.arch == arch]) == set(['glibc']):
+ conditions.append("!BR2_STATIC_LIBS")
+ f.write("\tdefault y if %s\n" % " && ".join(conditions))
f.write("\n")
f.write("if BR2_TOOLCHAIN_EXTERNAL_BOOTLIN\n\n")
--
2.35.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 16+ messages in thread* Re: [Buildroot] [PATCH 6/7] support/scripts/gen-bootlin-toolchains: properly take into account !BR2_STATIC_LIBS for glibc toolchains
2022-06-05 19:42 ` [Buildroot] [PATCH 6/7] support/scripts/gen-bootlin-toolchains: properly take into account !BR2_STATIC_LIBS for glibc toolchains Thomas Petazzoni via buildroot
@ 2022-06-05 20:24 ` Yann E. MORIN
2022-06-05 20:28 ` Yann E. MORIN
2022-06-05 21:56 ` Thomas Petazzoni via buildroot
0 siblings, 2 replies; 16+ messages in thread
From: Yann E. MORIN @ 2022-06-05 20:24 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: James Hilliard, Buildroot List
Thomas, All,
On 2022-06-05 21:42 +0200, Thomas Petazzoni spake thusly:
> The Config.in options created for each toolchain were properly taking
> into account the !BR2_STATIC_LIBS dependency of glibc
> toolchains. However, this dependency was not taken into account into
> the main BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS
> option. Consequently, if an architecture is only supported by glibc,
> but BR2_STATIC_LIBS is enabled, the main "Bootlin toolchain" option
> was visible... but with no selectable toolchain.
>
> We fix this by making sure that
> BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS is only true for all
> architectures supported, taking into account the fact that some
> architectures can only be supported if !BR2_STATIC_LIBS, when the only
> available C library is glibc.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
> support/scripts/gen-bootlin-toolchains | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/support/scripts/gen-bootlin-toolchains b/support/scripts/gen-bootlin-toolchains
> index f9dd9da9a8..97a744340a 100755
> --- a/support/scripts/gen-bootlin-toolchains
> +++ b/support/scripts/gen-bootlin-toolchains
> @@ -482,7 +482,10 @@ def gen_config_in_options(toolchains, fpath):
> f.write("config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS\n")
> f.write("\tbool\n")
> for arch, details in arches.items():
> - f.write("\tdefault y if %s\n" % " && ".join(details['conditions']))
> + conditions = details['conditions'].copy()
> + if set([t.libc for t in toolchains if t.arch == arch]) == set(['glibc']):
What about:
if 'glibc' in [t.libc for t in toolchains if t.arch == arch]
Regards,
Yann E. MORIN.
> + conditions.append("!BR2_STATIC_LIBS")
> + f.write("\tdefault y if %s\n" % " && ".join(conditions))
> f.write("\n")
>
> f.write("if BR2_TOOLCHAIN_EXTERNAL_BOOTLIN\n\n")
> --
> 2.35.3
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 16+ messages in thread* Re: [Buildroot] [PATCH 6/7] support/scripts/gen-bootlin-toolchains: properly take into account !BR2_STATIC_LIBS for glibc toolchains
2022-06-05 20:24 ` Yann E. MORIN
@ 2022-06-05 20:28 ` Yann E. MORIN
2022-06-05 21:57 ` Thomas Petazzoni via buildroot
2022-06-05 21:56 ` Thomas Petazzoni via buildroot
1 sibling, 1 reply; 16+ messages in thread
From: Yann E. MORIN @ 2022-06-05 20:28 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: James Hilliard, Buildroot List
Thomas, All,
On 2022-06-05 22:24 +0200, Yann E. MORIN spake thusly:
> On 2022-06-05 21:42 +0200, Thomas Petazzoni spake thusly:
> > The Config.in options created for each toolchain were properly taking
> > into account the !BR2_STATIC_LIBS dependency of glibc
> > toolchains. However, this dependency was not taken into account into
> > the main BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS
> > option. Consequently, if an architecture is only supported by glibc,
> > but BR2_STATIC_LIBS is enabled, the main "Bootlin toolchain" option
> > was visible... but with no selectable toolchain.
> >
> > We fix this by making sure that
> > BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS is only true for all
> > architectures supported, taking into account the fact that some
> > architectures can only be supported if !BR2_STATIC_LIBS, when the only
> > available C library is glibc.
> >
> > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> > ---
> > support/scripts/gen-bootlin-toolchains | 5 ++++-
> > 1 file changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/support/scripts/gen-bootlin-toolchains b/support/scripts/gen-bootlin-toolchains
> > index f9dd9da9a8..97a744340a 100755
> > --- a/support/scripts/gen-bootlin-toolchains
> > +++ b/support/scripts/gen-bootlin-toolchains
> > @@ -482,7 +482,10 @@ def gen_config_in_options(toolchains, fpath):
> > f.write("config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS\n")
> > f.write("\tbool\n")
> > for arch, details in arches.items():
> > - f.write("\tdefault y if %s\n" % " && ".join(details['conditions']))
> > + conditions = details['conditions'].copy()
> > + if set([t.libc for t in toolchains if t.arch == arch]) == set(['glibc']):
>
> What about:
> if 'glibc' in [t.libc for t in toolchains if t.arch == arch]
Nah, that does not test that there is *only* glibc; forget it...
Regards,
Yann E. MORIN.
>
> > + conditions.append("!BR2_STATIC_LIBS")
> > + f.write("\tdefault y if %s\n" % " && ".join(conditions))
> > f.write("\n")
> >
> > f.write("if BR2_TOOLCHAIN_EXTERNAL_BOOTLIN\n\n")
> > --
> > 2.35.3
> >
>
> --
> .-----------------.--------------------.------------------.--------------------.
> | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
> | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
> '------------------------------^-------^------------------^--------------------'
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 16+ messages in thread* Re: [Buildroot] [PATCH 6/7] support/scripts/gen-bootlin-toolchains: properly take into account !BR2_STATIC_LIBS for glibc toolchains
2022-06-05 20:28 ` Yann E. MORIN
@ 2022-06-05 21:57 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 16+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-06-05 21:57 UTC (permalink / raw)
To: Yann E. MORIN; +Cc: James Hilliard, Buildroot List
On Sun, 5 Jun 2022 22:28:03 +0200
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:
> > What about:
> > if 'glibc' in [t.libc for t in toolchains if t.arch == arch]
>
> Nah, that does not test that there is *only* glibc; forget it...
Ah sorry, you realized separately. I had already replied to your
previous reply :-)
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Buildroot] [PATCH 6/7] support/scripts/gen-bootlin-toolchains: properly take into account !BR2_STATIC_LIBS for glibc toolchains
2022-06-05 20:24 ` Yann E. MORIN
2022-06-05 20:28 ` Yann E. MORIN
@ 2022-06-05 21:56 ` Thomas Petazzoni via buildroot
1 sibling, 0 replies; 16+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-06-05 21:56 UTC (permalink / raw)
To: Yann E. MORIN; +Cc: James Hilliard, Buildroot List
On Sun, 5 Jun 2022 22:24:11 +0200
"Yann E. MORIN" <yann.morin.1998@free.fr> wrote:
> > for arch, details in arches.items():
> > - f.write("\tdefault y if %s\n" % " && ".join(details['conditions']))
> > + conditions = details['conditions'].copy()
> > + if set([t.libc for t in toolchains if t.arch == arch]) == set(['glibc']):
>
> What about:
>
> if 'glibc' in [t.libc for t in toolchains if t.arch == arch]
No, that would not work. We want to match if *only* glibc is available
as a C library, not if glibc is one of the supported C libraries.
If [t.libc for t in toolchains if t.arch == arch] contains glibc and
uclibc, we should *not* add the !BR2_STATIC_LIBS dependency, because
uclibc can be used in the BR2_STATIC_LIBS=y scenario.
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 7/7] toolchain/toolchain-external/toolchain-external-bootlin: regenerate with correct !BR2_STATIC_LIBS handling
2022-06-05 19:42 [Buildroot] [PATCH 0/7] Fix a number of toolchain dependency issues Thomas Petazzoni via buildroot
` (5 preceding siblings ...)
2022-06-05 19:42 ` [Buildroot] [PATCH 6/7] support/scripts/gen-bootlin-toolchains: properly take into account !BR2_STATIC_LIBS for glibc toolchains Thomas Petazzoni via buildroot
@ 2022-06-05 19:42 ` Thomas Petazzoni via buildroot
2022-06-06 10:24 ` [Buildroot] [PATCH 0/7] Fix a number of toolchain dependency issues Yann E. MORIN
2022-06-06 13:17 ` Yann E. MORIN
8 siblings, 0 replies; 16+ messages in thread
From: Thomas Petazzoni via buildroot @ 2022-06-05 19:42 UTC (permalink / raw)
To: Buildroot List, Arnout Vandecappelle (Essensium/Mind),
James Hilliard, Yann E. MORIN
Cc: Romain Naour, Giulio Benetti, Thomas De Schampheleire,
Thomas Petazzoni
This commit is simply the result of regenerating the
toolchain-external-bootlin package after gen-bootlin-toolchains was
changed in commit "support/scripts/gen-bootlin-toolchains: properly
take into account !BR2_STATIC_LIBS for glibc toolchains".
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
.../toolchain-external-bootlin/Config.in.options | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options b/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options
index 53034c4f5e..06a9ddf2d2 100644
--- a/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options
+++ b/toolchain/toolchain-external/toolchain-external-bootlin/Config.in.options
@@ -22,21 +22,21 @@ config BR2_TOOLCHAIN_EXTERNAL_BOOTLIN_ARCH_SUPPORTS
default y if BR2_mips64 && BR2_mips_64 && BR2_MIPS_NABI32 && !BR2_MIPS_SOFT_FLOAT
default y if BR2_mips64el && BR2_mips_64 && BR2_MIPS_NABI32 && !BR2_MIPS_SOFT_FLOAT
default y if BR2_mips64el && BR2_mips_64r6 && BR2_MIPS_NABI32 && !BR2_MIPS_SOFT_FLOAT
- default y if BR2_nios2
+ default y if BR2_nios2 && !BR2_STATIC_LIBS
default y if BR2_or1k
default y if BR2_powerpc && BR2_powerpc_440fp
default y if BR2_powerpc && BR2_powerpc_e300c3
default y if BR2_powerpc && BR2_powerpc_e500mc
- default y if BR2_powerpc64 && BR2_powerpc_e5500
+ default y if BR2_powerpc64 && BR2_powerpc_e5500 && !BR2_STATIC_LIBS
default y if BR2_powerpc64 && BR2_powerpc_e6500
default y if BR2_powerpc64 && BR2_powerpc_power8
default y if BR2_powerpc64le && BR2_powerpc_power8
- default y if BR2_riscv && BR2_riscv_g && BR2_RISCV_32 && BR2_RISCV_ABI_ILP32D
+ default y if BR2_riscv && BR2_riscv_g && BR2_RISCV_32 && BR2_RISCV_ABI_ILP32D && !BR2_STATIC_LIBS
default y if BR2_riscv && BR2_riscv_g && BR2_RISCV_64 && BR2_RISCV_ABI_LP64D
- default y if BR2_s390x && BR2_s390x_z13
+ default y if BR2_s390x && BR2_s390x_z13 && !BR2_STATIC_LIBS
default y if BR2_sh && BR2_sh4
default y if BR2_sh && BR2_sh4aeb
- default y if BR2_sparc64 && BR2_sparc_v9
+ default y if BR2_sparc64 && BR2_sparc_v9 && !BR2_STATIC_LIBS
default y if BR2_sparc && BR2_sparc_v8
default y if BR2_x86_64 && BR2_X86_CPU_HAS_MMX && BR2_X86_CPU_HAS_SSE && BR2_X86_CPU_HAS_SSE2
default y if BR2_x86_64 && BR2_X86_CPU_HAS_MMX && BR2_X86_CPU_HAS_SSE && BR2_X86_CPU_HAS_SSE2 && BR2_X86_CPU_HAS_SSE3 && BR2_X86_CPU_HAS_SSSE3 && BR2_X86_CPU_HAS_SSE4 && BR2_X86_CPU_HAS_SSE42
--
2.35.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 16+ messages in thread* Re: [Buildroot] [PATCH 0/7] Fix a number of toolchain dependency issues
2022-06-05 19:42 [Buildroot] [PATCH 0/7] Fix a number of toolchain dependency issues Thomas Petazzoni via buildroot
` (6 preceding siblings ...)
2022-06-05 19:42 ` [Buildroot] [PATCH 7/7] toolchain/toolchain-external/toolchain-external-bootlin: regenerate with correct !BR2_STATIC_LIBS handling Thomas Petazzoni via buildroot
@ 2022-06-06 10:24 ` Yann E. MORIN
2022-06-06 13:17 ` Yann E. MORIN
8 siblings, 0 replies; 16+ messages in thread
From: Yann E. MORIN @ 2022-06-06 10:24 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: James Hilliard, Buildroot List
James, Thomas, All,
On 2022-06-05 21:42 +0200, Thomas Petazzoni spake thusly:
> The starting point for this series is the investigation of several
> build failures affecting the master branch.
>
> Most of those failures are due to the fact that we can currently
> create configurations for which no C library is available. This
> happens on architectures where glibc is the only supported C library,
> but BR2_STATIC_LIBS is enabled.
>
> This is taken care of by the first four patches, which are basically
> split from a single patch posted by James Hilliard.
>
> Then, another problem is that a recent commit allowed glibc only for
> powerpc8 on the ppc64le architecture, leaving a number of other
> PowerPC variants selectable with ppc64le, but for which no C library
> was available.
>
> Finally, the toolchain-external-booltin package had a similar problem
> to the glibc/BR2_STATIC_LIBS issue: the package would be visible even
> if BR2_STATIC_LIBS=y and the selected CPU architecture is only
> supported by glibc.
>
> Thomas
>
> James Hilliard (4):
> package/uclibc: introduce and use BR2_PACKAGE_UCLIBC_ARCH_SUPPORTS and
> BR2_PACKAGE_UCLIBC_SUPPORTS
> package/glibc: introduce and use BR2_PACKAGE_GLIBC_ARCH_SUPPORTS and
> BR2_PACKAGE_GLIBC_SUPPORTS
> package/musl: introduce and use BR2_PACKAGE_MUSL_ARCH_SUPPORTS and
> BR2_PACKAGE_MUSL_SUPPORTS
Those three patches, applied to master, thanks.
I've however re-ordered them so that glibc comes first, which is then
used as an argument for keeping the same construct in uClibc-ng (so I
tweaked the commit message slightly), and to make the same argument in
musl as well (where I duplicated the commit log from uClibc-ng).
Regards,
Yann E. MORIN.
> Config.in: only allow BR2_STATIC_LIBS on supported libc/arch
>
> Thomas Petazzoni (3):
> arch/Config.in.powerpc: disable some variants on ppc64le
> support/scripts/gen-bootlin-toolchains: properly take into account
> !BR2_STATIC_LIBS for glibc toolchains
> toolchain/toolchain-external/toolchain-external-bootlin: regenerate
> with correct !BR2_STATIC_LIBS handling
>
> Config.in | 2 +
> arch/Config.in.powerpc | 10 +++++
> package/glibc/Config.in | 38 ++++++++++++++++
> package/musl/Config.in | 28 ++++++++++++
> package/uclibc/Config.in | 28 ++++++++++++
> support/scripts/gen-bootlin-toolchains | 5 ++-
> toolchain/toolchain-buildroot/Config.in | 43 ++++---------------
> .../Config.in.options | 10 ++---
> 8 files changed, 124 insertions(+), 40 deletions(-)
>
> --
> 2.35.3
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 16+ messages in thread* Re: [Buildroot] [PATCH 0/7] Fix a number of toolchain dependency issues
2022-06-05 19:42 [Buildroot] [PATCH 0/7] Fix a number of toolchain dependency issues Thomas Petazzoni via buildroot
` (7 preceding siblings ...)
2022-06-06 10:24 ` [Buildroot] [PATCH 0/7] Fix a number of toolchain dependency issues Yann E. MORIN
@ 2022-06-06 13:17 ` Yann E. MORIN
8 siblings, 0 replies; 16+ messages in thread
From: Yann E. MORIN @ 2022-06-06 13:17 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: James Hilliard, Buildroot List
James, Thomas, All,
On 2022-06-05 21:42 +0200, Thomas Petazzoni via buildroot spake thusly:
> The starting point for this series is the investigation of several
> build failures affecting the master branch.
>
> Most of those failures are due to the fact that we can currently
> create configurations for which no C library is available. This
> happens on architectures where glibc is the only supported C library,
> but BR2_STATIC_LIBS is enabled.
[--SNIP--]
> James Hilliard (4):
> Config.in: only allow BR2_STATIC_LIBS on supported libc/arch
As noticed by Arnout: Thomas, you dropped James' SoB in this patch (I
guess as part of splitting it into four patches), so I re-added it as it
was in the original v3:
https://lore.kernel.org/buildroot/20220516210756.3093190-1-james.hilliard1@gmail.com/
> Thomas Petazzoni (3):
> arch/Config.in.powerpc: disable some variants on ppc64le
> support/scripts/gen-bootlin-toolchains: properly take into account
> !BR2_STATIC_LIBS for glibc toolchains
> toolchain/toolchain-external/toolchain-external-bootlin: regenerate
> with correct !BR2_STATIC_LIBS handling
.. and with the rest of the series, and the blessing from Arnout on IRC:
applied to master, thanks.
Regards,
Yann E. MORIN.
> Config.in | 2 +
> arch/Config.in.powerpc | 10 +++++
> package/glibc/Config.in | 38 ++++++++++++++++
> package/musl/Config.in | 28 ++++++++++++
> package/uclibc/Config.in | 28 ++++++++++++
> support/scripts/gen-bootlin-toolchains | 5 ++-
> toolchain/toolchain-buildroot/Config.in | 43 ++++---------------
> .../Config.in.options | 10 ++---
> 8 files changed, 124 insertions(+), 40 deletions(-)
>
> --
> 2.35.3
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 16+ messages in thread