On Mon, Jul 21, 2003 at 10:32:55AM -0400, David Kesselring wrote:
> I'm trying to build linux for Sead in 64 bit. I found that it would not
> compile without the change at the end of this note. After this fix, I got
> the following link error. Does anyone have an idea why?
> mips64el-linux-ld --oformat elf32-tradlittlemips -G 0 -static -Ttext
> 0x80100000 arch/mips64/kernel/head.o
> arch/mips64/kernel/init_task.o init/main.o init/version.o init/do_mounts.o
> \
> --start-group \
> arch/mips64/kernel/kernel.o arch/mips64/mm/mm.o kernel/kernel.o
> mm/mm.o fs/fs.o ipc/ipc.o arch/mips/math-emu/fpu_emulator.o \
> drivers/char/char.o drivers/block/block.o drivers/misc/misc.o
> drivers/net/net.o drivers/media/media.o \
> net/network.o \
> arch/mips64/lib/lib.a
> /home/dkesselr/MIPS/linux-mips-cvs/2003Jul18/linux-build-mips64b/lib/lib.a
> arch/mips/mips-boards/sead/sead.o
> arch/mips/mips-boards/generic/mipsboards.o \
> --end-group \
> -o vmlinux
> mips64el-linux-ld: warning: cannot find entry symbol __start; defaulting
> to 0000000080100000
> mips64el-linux-ld: vmlinux: Not enough room for program headers (allocated
> 3, need 4)
It may not be obvious but this is ld's way of telling you it doesn't
feel happy with the options and input files; in some case it could also
be considered an insufficiency of ld ...
In this particular case the bug is that the kernel configuration doesn't
set CONFIG_BOOT_ELF32.
I'm a bit surprised to see somebody's actually using a 64-bit kernel on a
SEAD.
Ralf
|