Re: Kbuild change breaks the ppc64 build

Oleg Verych
2007-02-08T12:39:07Z

On Thu, Feb 08, 2007 at 10:10:54PM +1100, Paul Mackerras wrote:
> Commit 5de043f4bd11a9e0a3e8daec7d1905da575a76b7 breaks the build on
> 64-bit powerpc because we no longer get the -m64 flag passed to gcc.
> There is code in arch/powerpc/Makefile which adds (or used to add)
> -m64 to AS, LD and CC if we are running on a 64-bit machine (which I
> am) and have a biarch toolchain (which I do). Without -m64, the
> toolchain assumes 32-bit and all sorts of things break spectacularly.
>
> I haven't yet tracked down exactly why this commit has this effect,
> since I find it takes considerable time and effort to understand
> Kbuild.

As i have refactored some CC checking code in Kbuild.include, it
turned, that some versions of `make' after calling nested functions,
add (or leave) prefix whitespace to result, thus ifeq[0] fails:

.-*- (ppc Makefile)
|HAS_BIARCH := $(call cc-option-yn, -m32)
0|ifeq ($(HAS_BIARCH),y)
|AS := $(AS) -a32
|LD := $(LD) -m elf32ppc
|CC := $(CC) -m32
|endif

David wrote and showed a testcase.
Adding $(strip ) wrapper helped with this, but may screw many other
things. Maybe you will help, unless Linus will finally revert this :)

____