On Fri, 9 Dec 2005, 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
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
Unless ubuntu provides a biarch toolchain (and the fact gcc accepts
'-m64' means nothing - use 'file' on init/built-in.o), you have to build
a cross toolchain, (just binutils and gcc), put that on your path, and
use
make ARCH=x86_64 CROSS_COMPILE=x86_64-pc-linux-gnu-
so that the build will use x86_64-pc-linux-gnu-as and friends. You
should not need to mess with the CFLAGS.
Ken
--
das eine Mal als Trag�die, das andere Mal als Farce
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]