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

From: Lee Revell
Date: Fri Dec 09 2005 - 13:49:44 EST


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
CC init/calibrate.o
LD init/built-in.o
CHK usr/initramfs_list
CC arch/x86_64/kernel/process.o
CC arch/x86_64/kernel/signal.o
AS arch/x86_64/kernel/entry.o
arch/x86_64/kernel/entry.S: Assembler messages:
arch/x86_64/kernel/entry.S:204: Error: cannot represent relocation type BFD_RELOC_X86_64_32S
arch/x86_64/kernel/entry.S:275: Error: cannot represent relocation type BFD_RELOC_X86_64_32S
arch/x86_64/kernel/entry.S:762: Error: cannot represent relocation type BFD_RELOC_X86_64_32S
arch/x86_64/kernel/entry.S:815: Error: cannot represent relocation type BFD_RELOC_X86_64_32S
arch/x86_64/kernel/entry.S:536: Error: cannot represent relocation type BFD_RELOC_64
arch/x86_64/kernel/entry.S:536: Error: cannot represent relocation type BFD_RELOC_64
arch/x86_64/kernel/entry.S:785: Error: cannot represent relocation type BFD_RELOC_64
arch/x86_64/kernel/entry.S:785: Error: cannot represent relocation type BFD_RELOC_64
make[1]: *** [arch/x86_64/kernel/entry.o] Error 1
make: *** [arch/x86_64/kernel] Error 2

Is this a known toolchain bug?

$ as --version
GNU assembler 2.16.1 Debian GNU/Linux

Lee

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/