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

From: Paul Gortmaker <[email-masked]>
Date: Mon, 27 Feb 2012 11:28:06 -0500

On 12-02-27 10:14 AM, John David Anglin wrote:
> 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.

You lost me here.  As in a native 32bit env. doing a build for the
64 bit case is setting CROSS_COMPILE?

> 
> 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.

Yeah, I'd support a complete nuke-and-pave of the whole Makefile
chunk as well.  It does seem redundant and causes more issues than
it solves.

Paul.

> Dave