Kbuild change breaks the ppc64 build

Oleg Verych olecom at flower.upol.cz
Thu Feb 8 23:47:56 EST 2007


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 :)

____



More information about the Linuxppc-dev mailing list