[Buildroot] [PATCH] package/gcc: Disable uclibc for powerpc64 and powerpc64le

Yann E. MORIN yann.morin.1998 at free.fr
Thu May 5 19:55:31 UTC 2022


Joel, All,

On 2022-05-05 19:39 +0930, Joel Stanley spake thusly:
> uClibc-ng does not (and has never) supported the 64 bit powerpc
> architecture.
> 
> Signed-off-by: Joel Stanley <joel at jms.id.au>
> ---
> I'm a bit confused as to why uclibc was ever an option. Perhaps I missed
> something! I did a search of the mailing list archive and the best I
> found was this post from Thomas:
> 
>  https://lore.kernel.org/buildroot/20160817193721.0cc1466d@free-electrons.com/
> 
> Signed-off-by: Joel Stanley <joel at jms.id.au>
> ---
>  package/gcc/Config.in.host | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
> index a1fe192d3a24..3364860ec7a4 100644
> --- a/package/gcc/Config.in.host
> +++ b/package/gcc/Config.in.host
> @@ -31,6 +31,8 @@ config BR2_GCC_VERSION_9_X
>  	# upstream gcc. C-SKY gcc upstream support not tested
>  	# with upstream binutils and glibc.
>  	depends on !BR2_csky
> +	# 64 bit powerpc is not supported by uclibc
> +	depends on !(BR2_TOOLCHAIN_USES_UCLIBC && (BR2_powerpc64 || BR2_powerpc64le))

This is not the proper place to put this limitation. Instead, it should
be added to toolchain/toolchain-buildroot/Config.in so that uClibc is
not ever selectable for powerpc64.

Except this is already the case:

   28 config BR2_TOOLCHAIN_BUILDROOT_UCLIBC
   29     bool "uClibc-ng"
   30     depends on BR2_aarch64 || BR2_aarch64_be || BR2_arcle   || BR2_arceb  || \
   31            BR2_arm     || BR2_armeb    || \
   32            BR2_i386    || BR2_m68k   || BR2_microblaze || \
   33            BR2_mips    || BR2_mipsel || BR2_mips64 || BR2_mips64el || \
   34            BR2_or1k    || BR2_powerpc || BR2_RISCV_64 || \
   35            BR2_sh4     || BR2_sh4eb   || BR2_sparc || BR2_xtensa || \
   36            BR2_x86_64

And indeed, when I enable either BR2_powerpc64 or BR2_powerpc64le, then
uclibc-ng is not selectable in the C library choice...

So now I am confused. Could you explain why you had to hide away the gcc
versions when uclibc-ng is selected? And how you even managed to select
uClibc-ng with powerpc64 to begine with? Can you share a defconfig that
exhibits the issue?

Regards,
Yann E. MORIN.

>  	select BR2_TOOLCHAIN_GCC_AT_LEAST_9
>  
>  config BR2_GCC_VERSION_10_X
> @@ -43,6 +45,8 @@ config BR2_GCC_VERSION_10_X
>  	# upstream gcc. C-SKY gcc upstream support not tested
>  	# with upstream binutils and glibc.
>  	depends on !BR2_csky
> +	# 64 bit powerpc is not supported by uclibc
> +	depends on !(BR2_TOOLCHAIN_USES_UCLIBC && (BR2_powerpc64 || BR2_powerpc64le))
>  	select BR2_TOOLCHAIN_GCC_AT_LEAST_10
>  
>  config BR2_GCC_VERSION_11_X
> @@ -54,6 +58,8 @@ config BR2_GCC_VERSION_11_X
>  	# that need to be reverted since gcc 8.4, 9.3 and 10.1.
>  	# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98784
>  	depends on !BR2_sparc
> +	# 64 bit powerpc is not supported by uclibc
> +	depends on !(BR2_TOOLCHAIN_USES_UCLIBC && (BR2_powerpc64 || BR2_powerpc64le))
>  	select BR2_TOOLCHAIN_GCC_AT_LEAST_11
>  
>  endchoice
> -- 
> 2.35.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at 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.  |
'------------------------------^-------^------------------^--------------------'



More information about the buildroot mailing list