Subject: Re: [PATCH] parisc: dont unconditionally override CROSS_COMPILE for 64 bit.

From: John David Anglin <[email-masked]>
Date: Mon, 27 Feb 2012 10:14:26 -0500

On 2/26/2012 6:26 PM, 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.
>
> [1] ftp://ftp.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.5.2/
>
> Signed-off-by: Paul Gortmaker<[email-masked]>
>
> diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile
> index 55cca1d..cefff6d 100644
> --- a/arch/parisc/Makefile
> +++ b/arch/parisc/Makefile
> @@ -31,7 +31,9 @@ ifdef CONFIG_64BIT
>   UTS_MACHINE	:= parisc64
>   CHECKFLAGS	+= -D__LP64__=1 -m64
>   WIDTH		:= 64
> -CROSS_COMPILE	:= hppa64-linux-gnu-
> +ifndef CROSS_COMPILE
> + CROSS_COMPILE	:= hppa64-linux-gnu-
> +endif
>   else # 32-bit
>   WIDTH		:=
>   endif
This change breaks native builds.  So, I assume CROSS_COMPILE must be
previously defined.

I couldn't figure out where it is defined.  CONFIG_CROSS_COMPILE in my
.config was an empty string  and CROSS_COMPILE was not defined in my
build environment.

The default toolchain prefix on Debian systems contains "gnu-".

Given that users can use CONFIG_CROSS_COMPILE or set CROSS_COMPILE
in their build env, maybe setting CROSS_COMPILE in the Makefile is a 
mistake.

Dave

-- 
John David Anglin    [email-masked]