Re: i386 -> x86_64 cross compile failure (binutils bug?)

Lee Revell
2005-12-09T20:56:58Z

On Fri, 2005-12-09 at 15:41 -0500, Kyle McMartin wrote:
> On Fri, Dec 09, 2005 at 03:21:16PM -0500, Lee Revell wrote:
> > I tried with CROSS_COMPILE="/usr/x86_64/bin/x86_64-linux-", but edited
> > the Makefile to set CC to /use/bin/gcc. Same error.
> >
>
> Ah. I didn't realize when it says "AS foo.o" it really means it's running
> CC, not AS. (I had also built a cross compiling gcc, but didn't realize it
> was being used).
>

Yes, I noticed that, when I set KBUILD_VERBOSE, I can see that it just
invokes CC and passes -D__ASSEMBLY__.

So what is setting AS in the Makefile good for then? And how can I
force the build process to use /usr/x86_64/bin/x86_64-linux-as rather
than /usr/bin/as?

Also, isn't it a bug for the Makefile not to pass -m64 if I specify
ARCH=x86_64? If I don't change the CFLAGS I get:

$ make ARCH=x86_64
CHK include/linux/version.h
CC arch/x86_64/kernel/asm-offsets.s
arch/x86_64/kernel/asm-offsets.c:1: error: code model 'kernel' not
supported in the 32 bit mode
make[1]: *** [arch/x86_64/kernel/asm-offsets.s] Error 1
make: *** [prepare0] Error 2

Lee