All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Petazzoni via buildroot <buildroot@buildroot.org>
To: Joel Stanley <joel@jms.id.au>
Cc: "Bernd Kuhls" <bernd.kuhls@t-online.de>,
	"Michael Ellerman" <mpe@ellerman.id.au>,
	"Romain Naour" <romain.naour@gmail.com>,
	"Cédric Le Goater" <clg@kaod.org>,
	buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH 2/9] arch/powerpc: Clarify generic CPUs
Date: Wed, 3 Aug 2022 23:28:46 +0200	[thread overview]
Message-ID: <20220803232846.30e7e22f@windsurf> (raw)
In-Reply-To: <20220729000904.1295295-3-joel@jms.id.au>

On Fri, 29 Jul 2022 09:38:57 +0930
Joel Stanley <joel@jms.id.au> wrote:

> In the case where a specific CPU is not selected, set an appropriate
> gcc target for the architecture.
> 
> For clarity this introduces a BR2_generic_powerpc64 as a generic 64 bit
> CPU as this makes the it clearer when browsing menuconfig.
> 
> We can't have a generic ppc64le GCC, as attempting to configure glibc
> for powerpc64le fails:
> 
>  configure: error: ***  POWER8 or newer is required on powerpc64le.
>  __builtin_signbit is broken.  GCC 7.4 or newer is required to resolve
>  (PR83862). The compiler must support -mabi=ieeelongdouble and
>  -mlong-double-128 simultaneously.
> 
> Hence set Power8 as the default CPU for powerpc64le.
> 
> Signed-off-by: Joel Stanley <joel@jms.id.au>
> ---
>  arch/Config.in.powerpc | 13 ++++++++++---
>  1 file changed, 10 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/Config.in.powerpc b/arch/Config.in.powerpc
> index ef0e85fec680..8d392bfde814 100644
> --- a/arch/Config.in.powerpc
> +++ b/arch/Config.in.powerpc
> @@ -9,12 +9,17 @@ config BR2_POWERPC_CPU_HAS_SPE
>  
>  choice
>  	prompt "Target Architecture Variant"
> -	default BR2_generic_powerpc
> +	default BR2_generic_powerpc if !BR2_ARCH_IS_64
> +	default BR2_generic_powerpc64 if BR2_ARCH_IS_64
> +	default BR2_powerpc_power8 if BR2_powerpc64le

This default will never be used, because BR2_ARCH_IS_64 is true when
BR2_powerpc64le is true. So on powerpc64le, "default
BR2_generic_powerpc64 if BR2_ARCH_IS_64" will match.

So a better solution is:

+	default BR2_generic_powerpc if BR2_powerpc
+	default BR2_generic_powerpc64 if BR2_powerpc64
+	default BR2_powerpc_power8 if BR2_powerpc64le

>  	help
>  	  Specific CPU variant to use
>  config BR2_generic_powerpc
> -	bool "generic"
> -	# No C library supports this variant on ppc64le
> +	bool "generic (32 bit)"
> +	depends on !BR2_ARCH_IS_64

I think the (32 bit) is useless, because this one will only show up on
32-bit powerpc.

> +config BR2_generic_powerpc64
> +	bool "generic (64 bit)"
> +	depends on BR2_ARCH_IS_64
>  	depends on !BR2_powerpc64le

Ditto here.

However, a help text for both of these options would be useful, as
these "generic" options are always a bit magic as to what CPUs they
support exactly. The help text should also say that they map to
-mcpu=powerpc and -mcpu=powerpc64 respectively.

As Yann requested, the commit log needs to be changed, as "In the case
where a specific CPU is not selected, set an appropriate gcc target for
the architecture." is incorrect, as a specific CPU is always selected.

Thanks!

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

  parent reply	other threads:[~2022-08-03 21:29 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-29  0:08 [Buildroot] [PATCH 0/9] powerpc: Fix ppc64le configurations Joel Stanley
2022-07-29  0:08 ` [Buildroot] [PATCH 1/9] arch/powerpc: Hide SPE ABI behind CPU type Joel Stanley
2022-07-29  6:48   ` Cédric Le Goater
2022-07-29 21:17   ` Yann E. MORIN
2022-08-03 21:22     ` Thomas Petazzoni via buildroot
2022-08-05  6:05       ` Joel Stanley
2022-08-05 15:46         ` Yann E. MORIN
2022-07-29  0:08 ` [Buildroot] [PATCH 2/9] arch/powerpc: Clarify generic CPUs Joel Stanley
2022-07-29  6:48   ` Cédric Le Goater
2022-07-29 21:25   ` Yann E. MORIN
2022-08-03 21:28   ` Thomas Petazzoni via buildroot [this message]
2022-07-29  0:08 ` [Buildroot] [PATCH 3/9] arch/powerpc: Enable powerpc64le only on CPUs that support it Joel Stanley
2022-07-29  6:52   ` Cédric Le Goater
2022-07-29 21:37     ` Yann E. MORIN
2022-07-30 21:18       ` Cédric Le Goater
2022-07-31  6:43         ` Yann E. MORIN
2022-07-29 21:33   ` Yann E. MORIN
2022-08-03 21:32   ` Thomas Petazzoni via buildroot
2022-09-18 10:23   ` Arnout Vandecappelle
2022-09-20 17:09     ` Cédric Le Goater
2022-09-20 20:32       ` Arnout Vandecappelle
2022-09-18 10:24   ` Arnout Vandecappelle
2022-07-29  0:08 ` [Buildroot] [PATCH 4/9] package/glibc: Use powerpc64le instead of power8 Joel Stanley
2022-07-29  6:52   ` Cédric Le Goater
2022-07-29 21:41   ` Yann E. MORIN
2022-09-18 10:42   ` Arnout Vandecappelle
2022-07-29  0:09 ` [Buildroot] [PATCH 5/9] arch/powerpc: Add Power9 CPU type Joel Stanley
2022-07-29  6:53   ` Cédric Le Goater
2022-07-29 21:42   ` Yann E. MORIN
2022-09-18 10:43   ` Arnout Vandecappelle
2022-07-29  0:09 ` [Buildroot] [PATCH 6/9] arch/powerpc: Add Power10 " Joel Stanley
2022-07-29  6:53   ` Cédric Le Goater
2022-07-29  0:09 ` [Buildroot] [PATCH 7/9] package/mesa3d: Remove force disable of power8 Joel Stanley
2022-07-29  6:54   ` Cédric Le Goater
2022-07-29  0:09 ` [Buildroot] [PATCH 8/9] package/zlib-ng: Revert Power8 special casing Joel Stanley
2022-07-29  6:55   ` Cédric Le Goater
2022-07-29  0:09 ` [Buildroot] [PATCH 9/9] package/openblas: Add Power9 and Power10 targets Joel Stanley
2022-07-29  6:55   ` Cédric Le Goater
2022-08-03 21:07 ` [Buildroot] [PATCH 0/9] powerpc: Fix ppc64le configurations Yann E. MORIN

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220803232846.30e7e22f@windsurf \
    --to=buildroot@buildroot.org \
    --cc=bernd.kuhls@t-online.de \
    --cc=clg@kaod.org \
    --cc=joel@jms.id.au \
    --cc=mpe@ellerman.id.au \
    --cc=romain.naour@gmail.com \
    --cc=thomas.petazzoni@bootlin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.