diff options
author | Michael Ellerman <mpe@ellerman.id.au> | 2019-02-07 16:16:52 +1100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-06-21 15:38:59 +0200 |
commit | e4c9414821d5bc8b787b88058e1f865e34dc893b (patch) | |
tree | 64f8fd2a2be9a37c62b6f576273e1b4709f53a54 | |
parent | f63e0e61fbcc9fb5cd0a87c1a1af74cc3d4965f3 (diff) | |
download | linux-stable-e4c9414821d5bc8b787b88058e1f865e34dc893b.tar.gz linux-stable-e4c9414821d5bc8b787b88058e1f865e34dc893b.tar.bz2 linux-stable-e4c9414821d5bc8b787b88058e1f865e34dc893b.zip |
powerpc: Fix defconfig choice logic when cross compiling
commit af5cd05de5dd38cf25d14ea4d30ae9b791d2420b upstream.
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>
Signed-off-by: Alyssa Ross <hi@alyssa.is>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | arch/powerpc/Makefile | 9 |
1 files 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) |