Messages in this thread Patch in this message | | | From | James Bottomley <> | Subject | Re: [PATCH v2] parisc: dont unconditionally override CROSS_COMPILE for 64 bit. | Date | Mon, 27 Feb 2012 21:41:05 +0000 |
| |
On Mon, 2012-02-27 at 15:59 -0500, Paul Gortmaker wrote: > Using the 64 bit toolchains from kernel.org[1], one finds that > you can't build the a500_defconfig, because the Makefile will > stomp whatever value you have in your env. for CROSS_COMPILE. > > This shows up since the kernel.org toolchains for parisc-64 > do not have the "-gnu" prefix, and so you run into it always > saying hppa64-linux-gnu-gcc not found, regardless of the fact > you've not got "-gnu" put anywhere into CROSS_COMPILE. > > Since you can set CROSS_COMPILE from the environment and/or set > it in your .config file, there really is no need for it to be > poked at by the Makefile at all. So just delete it. > > [1] ftp://ftp.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.5.2/ > > Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> > --- > > [v2: no ifdef/endif -- just delete the offending line.] > > diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile > index 55cca1d..a533367 100644 > --- a/arch/parisc/Makefile > +++ b/arch/parisc/Makefile > @@ -31,7 +31,6 @@ ifdef CONFIG_64BIT > UTS_MACHINE := parisc64 > CHECKFLAGS += -D__LP64__=1 -m64 > WIDTH := 64 > -CROSS_COMPILE := hppa64-linux-gnu- > else # 32-bit > WIDTH := > endif
We can't do that ... it crashes a standard build almost immediately because it doesn't pick the 64 bit compiler (and we have no biarch solution).
We need make on a 64 bit config to work out of the box. It breaks with ?= as JDA pointed out because CROSS_COMPILE is always defined. Does this satisfy everyone?
James
---
diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile index 55cca1d..19ab7b2 100644 --- a/arch/parisc/Makefile +++ b/arch/parisc/Makefile @@ -31,7 +31,11 @@ ifdef CONFIG_64BIT UTS_MACHINE := parisc64 CHECKFLAGS += -D__LP64__=1 -m64 WIDTH := 64 + +# FIXME: if no default set, should really try to locate dynamically +ifeq ($(CROSS_COMPILE),) CROSS_COMPILE := hppa64-linux-gnu- +endif else # 32-bit WIDTH := endif
| |