Message ID | 20210501172437.156926-2-masahiroy@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | None | expand |
Hi Yamada-san, On Sat, May 1, 2021 at 7:26 PM Masahiro Yamada <masahiroy@kernel.org> wrote: > 'cross_compiling' is defined by the top Makefile and available for > arch Makefiles to check whether it is a cross build or not. A good > thing is the variable name 'cross_compiling' is self-documenting. > > This is a simple replacement for m68k, mips, sh, for which $(ARCH) > and $(SRCARCH) always match. > > No functional change is intended for xtensa, either. > > This is rather a fix for parisc because arch/parisc/Makefile defines > UTS_MATCHINE depending on CONFIG_64BIT, therefore cc-cross-prefix > is not working in Kconfig time. > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > arch/m68k/Makefile | 2 +- Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Gr{oetje,eeting}s, Geert
On Sat, May 1, 2021 at 10:25 AM Masahiro Yamada <masahiroy@kernel.org> wrote: > > 'cross_compiling' is defined by the top Makefile and available for > arch Makefiles to check whether it is a cross build or not. A good > thing is the variable name 'cross_compiling' is self-documenting. > > This is a simple replacement for m68k, mips, sh, for which $(ARCH) > and $(SRCARCH) always match. > > No functional change is intended for xtensa, either. > > This is rather a fix for parisc because arch/parisc/Makefile defines > UTS_MATCHINE depending on CONFIG_64BIT, therefore cc-cross-prefix > is not working in Kconfig time. > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > --- > > arch/m68k/Makefile | 2 +- > arch/mips/Makefile | 2 +- > arch/parisc/Makefile | 2 +- > arch/sh/Makefile | 2 +- > arch/xtensa/Makefile | 6 +----- > 5 files changed, 5 insertions(+), 9 deletions(-) Acked-by: Max Filippov <jcmvbkbc@gmail.com> # xtensa
On 5/1/21 12:24 PM, Masahiro Yamada wrote: > 'cross_compiling' is defined by the top Makefile and available for > arch Makefiles to check whether it is a cross build or not. A good > thing is the variable name 'cross_compiling' is self-documenting. > > This is a simple replacement for m68k, mips, sh, for which $(ARCH) > and $(SRCARCH) always match. > > No functional change is intended for xtensa, either. > > This is rather a fix for parisc because arch/parisc/Makefile defines > UTS_MATCHINE depending on CONFIG_64BIT, therefore cc-cross-prefix > is not working in Kconfig time. > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Tried the patch in my sh build, the result built and booted. Tested-by: Rob Landley <rob@landley.net> Rob
diff --git a/arch/m68k/Makefile b/arch/m68k/Makefile index ea14f2046fb4..82620f14124d 100644 --- a/arch/m68k/Makefile +++ b/arch/m68k/Makefile @@ -16,7 +16,7 @@ KBUILD_DEFCONFIG := multi_defconfig -ifneq ($(SUBARCH),$(ARCH)) +ifdef cross_compiling ifeq ($(CROSS_COMPILE),) CROSS_COMPILE := $(call cc-cross-prefix, \ m68k-linux-gnu- m68k-linux- m68k-unknown-linux-gnu-) diff --git a/arch/mips/Makefile b/arch/mips/Makefile index e71d587af49c..258234c35a09 100644 --- a/arch/mips/Makefile +++ b/arch/mips/Makefile @@ -50,7 +50,7 @@ tool-archpref = $(64bit-tool-archpref) UTS_MACHINE := mips64 endif -ifneq ($(SUBARCH),$(ARCH)) +ifdef cross_compiling ifeq ($(CROSS_COMPILE),) CROSS_COMPILE := $(call cc-cross-prefix, $(tool-archpref)-linux- $(tool-archpref)-linux-gnu- $(tool-archpref)-unknown-linux-gnu-) endif diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile index 7d9f71aa829a..aed8ea29268b 100644 --- a/arch/parisc/Makefile +++ b/arch/parisc/Makefile @@ -41,7 +41,7 @@ endif export LD_BFD -ifneq ($(SUBARCH),$(UTS_MACHINE)) +ifdef cross_compiling ifeq ($(CROSS_COMPILE),) CC_SUFFIXES = linux linux-gnu unknown-linux-gnu CROSS_COMPILE := $(call cc-cross-prefix, \ diff --git a/arch/sh/Makefile b/arch/sh/Makefile index 3bcbf52fb30e..44bcb80e791a 100644 --- a/arch/sh/Makefile +++ b/arch/sh/Makefile @@ -9,7 +9,7 @@ # License. See the file "COPYING" in the main directory of this archive # for more details. # -ifneq ($(SUBARCH),$(ARCH)) +ifdef cross_compiling ifeq ($(CROSS_COMPILE),) CROSS_COMPILE := $(call cc-cross-prefix, sh-linux- sh-linux-gnu- sh-unknown-linux-gnu-) endif diff --git a/arch/xtensa/Makefile b/arch/xtensa/Makefile index ba9fee75e675..e9c8f064c44d 100644 --- a/arch/xtensa/Makefile +++ b/arch/xtensa/Makefile @@ -19,12 +19,8 @@ variant-y := $(patsubst "%",%,$(CONFIG_XTENSA_VARIANT_NAME)) VARIANT = $(variant-y) export VARIANT -# Test for cross compiling - ifneq ($(VARIANT),) - COMPILE_ARCH = $(shell uname -m) - - ifneq ($(COMPILE_ARCH), xtensa) + ifdef cross_compiling ifndef CROSS_COMPILE CROSS_COMPILE = xtensa_$(VARIANT)- endif
'cross_compiling' is defined by the top Makefile and available for arch Makefiles to check whether it is a cross build or not. A good thing is the variable name 'cross_compiling' is self-documenting. This is a simple replacement for m68k, mips, sh, for which $(ARCH) and $(SRCARCH) always match. No functional change is intended for xtensa, either. This is rather a fix for parisc because arch/parisc/Makefile defines UTS_MATCHINE depending on CONFIG_64BIT, therefore cc-cross-prefix is not working in Kconfig time. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> --- arch/m68k/Makefile | 2 +- arch/mips/Makefile | 2 +- arch/parisc/Makefile | 2 +- arch/sh/Makefile | 2 +- arch/xtensa/Makefile | 6 +----- 5 files changed, 5 insertions(+), 9 deletions(-)