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

Lee Revell
2005-12-10T00:08:24Z

On Fri, 2005-12-09 at 16:37 -0600, Jeffrey Hundstad wrote:
> Lee Revell wrote:
>
> >I'm trying to build an x66-64 kernel on a 32 bit system (Ubuntu 5.10).
> >I added -m64 to the CFLAGS as per the gcc docs. But the build fails
> >with:
> >
> >$ make ARCH=x86_64
> > [...]
> > CC init/initramfs.o
> >
> >
>
> I have successfully done this using Debian/Sid.
>

I added "-m64" to AFLAGS as well and now I get farther:

CC arch/x86_64/ia32/syscall32.o
AS arch/x86_64/ia32/vsyscall-sysenter.o
arch/x86_64/ia32/vsyscall-sysenter.S: Assembler messages:
arch/x86_64/ia32/vsyscall-sysenter.S:14: Error: suffix or operands invalid for `push'
arch/x86_64/ia32/vsyscall-sysenter.S:16: Error: suffix or operands invalid for `push'
arch/x86_64/ia32/vsyscall-sysenter.S:18: Error: suffix or operands invalid for `push'
arch/x86_64/ia32/vsyscall-sysenter.S:25: Error: suffix or operands invalid for `pop'
arch/x86_64/ia32/vsyscall-sysenter.S:27: Error: suffix or operands invalid for `pop'
arch/x86_64/ia32/vsyscall-sysenter.S:29: Error: suffix or operands invalid for `pop'
arch/x86_64/ia32/vsyscall-sigreturn.S:16: Error: suffix or operands invalid for `pop'
make[1]: *** [arch/x86_64/ia32/vsyscall-sysenter.o] Error 1
make: *** [arch/x86_64/ia32] Error 2

Lee