Linux kernel -stable discussions
 help / color / mirror / Atom feed
* [PATCH 4.14.y] powerpc: Fix defconfig choice logic when cross compiling
@ 2023-06-14 14:23 Alyssa Ross
  2023-06-19  7:41 ` Greg KH
  0 siblings, 1 reply; 2+ messages in thread
From: Alyssa Ross @ 2023-06-14 14:23 UTC (permalink / raw)
  To: stable; +Cc: Michael Ellerman, Alyssa Ross

From: Michael Ellerman <mpe@ellerman.id.au>

Our logic for choosing defconfig doesn't work well in some situations.

For example if you're on a ppc64le machine but you specify a non-empty
CROSS_COMPILE, in order to use a non-default toolchain, then defconfig
will give you ppc64_defconfig (big endian):

  $ make CROSS_COMPILE=~/toolchains/gcc-8/bin/powerpc-linux- defconfig
  *** Default configuration is based on 'ppc64_defconfig'

This is because we assume that CROSS_COMPILE being set means we
can't be on a ppc machine and rather than checking we just default to
ppc64_defconfig.

We should just ignore CROSS_COMPILE, instead check the machine with
uname and if it's one of ppc, ppc64 or ppc64le then use that
defconfig. If it's none of those then we fall back to ppc64_defconfig.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
(cherry picked from commit af5cd05de5dd38cf25d14ea4d30ae9b791d2420b)
Signed-off-by: Alyssa Ross <hi@alyssa.is>
---
 arch/powerpc/Makefile | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 9c78ef298257..cbc7c05a6165 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -29,11 +29,10 @@ endif
 
 export CROSS32CC CROSS32AR
 
-ifeq ($(CROSS_COMPILE),)
-KBUILD_DEFCONFIG := $(shell uname -m)_defconfig
-else
-KBUILD_DEFCONFIG := ppc64_defconfig
-endif
+# If we're on a ppc/ppc64/ppc64le machine use that defconfig, otherwise just use
+# ppc64_defconfig because we have nothing better to go on.
+uname := $(shell uname -m)
+KBUILD_DEFCONFIG := $(if $(filter ppc%,$(uname)),$(uname),ppc64)_defconfig
 
 ifeq ($(CONFIG_PPC64),y)
 new_nm := $(shell if $(NM) --help 2>&1 | grep -- '--synthetic' > /dev/null; then echo y; else echo n; fi)

base-commit: 1914956342c8cf52a377aecc4944e63f9229cb9b
-- 
2.37.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 4.14.y] powerpc: Fix defconfig choice logic when cross compiling
  2023-06-14 14:23 [PATCH 4.14.y] powerpc: Fix defconfig choice logic when cross compiling Alyssa Ross
@ 2023-06-19  7:41 ` Greg KH
  0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2023-06-19  7:41 UTC (permalink / raw)
  To: Alyssa Ross; +Cc: stable, Michael Ellerman

On Wed, Jun 14, 2023 at 02:23:01PM +0000, Alyssa Ross wrote:
> From: Michael Ellerman <mpe@ellerman.id.au>
> 
> Our logic for choosing defconfig doesn't work well in some situations.
> 
> For example if you're on a ppc64le machine but you specify a non-empty
> CROSS_COMPILE, in order to use a non-default toolchain, then defconfig
> will give you ppc64_defconfig (big endian):
> 
>   $ make CROSS_COMPILE=~/toolchains/gcc-8/bin/powerpc-linux- defconfig
>   *** Default configuration is based on 'ppc64_defconfig'
> 
> This is because we assume that CROSS_COMPILE being set means we
> can't be on a ppc machine and rather than checking we just default to
> ppc64_defconfig.
> 
> We should just ignore CROSS_COMPILE, instead check the machine with
> uname and if it's one of ppc, ppc64 or ppc64le then use that
> defconfig. If it's none of those then we fall back to ppc64_defconfig.
> 
> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
> (cherry picked from commit af5cd05de5dd38cf25d14ea4d30ae9b791d2420b)
> Signed-off-by: Alyssa Ross <hi@alyssa.is>
> ---
>  arch/powerpc/Makefile | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index 9c78ef298257..cbc7c05a6165 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -29,11 +29,10 @@ endif
>  
>  export CROSS32CC CROSS32AR
>  
> -ifeq ($(CROSS_COMPILE),)
> -KBUILD_DEFCONFIG := $(shell uname -m)_defconfig
> -else
> -KBUILD_DEFCONFIG := ppc64_defconfig
> -endif
> +# If we're on a ppc/ppc64/ppc64le machine use that defconfig, otherwise just use
> +# ppc64_defconfig because we have nothing better to go on.
> +uname := $(shell uname -m)
> +KBUILD_DEFCONFIG := $(if $(filter ppc%,$(uname)),$(uname),ppc64)_defconfig
>  
>  ifeq ($(CONFIG_PPC64),y)
>  new_nm := $(shell if $(NM) --help 2>&1 | grep -- '--synthetic' > /dev/null; then echo y; else echo n; fi)
> 
> base-commit: 1914956342c8cf52a377aecc4944e63f9229cb9b

Both now queued up, thanks.

greg k-h

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2023-06-19  7:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-14 14:23 [PATCH 4.14.y] powerpc: Fix defconfig choice logic when cross compiling Alyssa Ross
2023-06-19  7:41 ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox