On Tue, 6 May 2003, Guo Michael wrote:
> Hello, I want to build mips64el kernel and downloaded the mips64el
> toolchain from ftp://ftp.ds2.pg.gda.pl/pub/macro/ (Maciej W. Rozycki's
> site) and I got following errors:
My 64-bit binutils package has `ld' that assumes output is to be 64-bit
ELF. When fed with 32-bit ELF objects such as these created by `as -32'
(as invoked when building the kernel) it should convert them to 64-bit on
the fly, but it wasn't really ever tested and doesn't work. There are two
immediate ways to deal with that:
1. Add "-m elf32ltsmip" or "-m elf32btsmip" (depending on the endianness)
to `ld' invocation (there is a commented-out example how to do this in
arch/mips64/Makefile). This is probably the simplest and safest way to
deal with the problem. It could probably be added to the CVS to avoid
confusion.
2. Build all objects as 64-bit. This will enlarge the kernel noticeably
and possibly reveal bugs. I have a patch (or maybe a hack) to enable such
a setup if you were really interested.
Maciej
--
+ Maciej W. Rozycki, Technical University of Gdansk, Poland +
+--------------------------------------------------------------+
+ e-mail: macro@ds2.pg.gda.pl, PGP key available +
|