[Top] [All Lists]

Re: help with asm errors

Subject: Re: help with asm errors
From: David Monro <>
Date: Sun, 11 May 1997 11:40:48 +1000 (EST)
In-reply-to: <>
Reply-to: David Monro <>
Paul wrote
> The assembler is having trouble with the series of .org directives at the
> end of head.S that look like this:
>                .org     0x1000
>                EXPORT(swapper_pg_dir)
>                .org     0x2000
>                EXPORT(empty_bad_page)
> etc.

Got it - in the head.s that I have, these are actually

.org . + 0x1000
and then there is a #ifndef CONFIG_MIPS_DECSTATION around the .org for
kernel_entry as follows:
                .org 0x8000
                .org . + 0x8000

So of course I was getting the .org 0x8000 rather than . + 0x8000, and since
the other entries used . +, I had gone over 0x8000 already. Changing them all
back to just .org 0x?000 allows me to assemble head.S. I note they are just
.org 0x?000 in the 2.1.36 version (which seems to have a radically different
head.S anyway).

However I now get a really weird error when linking:
mips-linux-ld -N -G 0  -Ttext 0x80100000 arch/mips/kernel/head.o init/main.o in
it/version.o \
        arch/mips/mips1/mips.o arch/mips/kernel/kernel.o arch/mips/mm/mm.o kern
el/kernel.o mm/mm.o fs/fs.o ipc/ipc.o net/network.a \
        fs/filesystems.a \
        drivers/block/block.a drivers/char/char.a drivers/net/net.a \
arch/mips/lib/lib.a -o vmlinux
mips-linux-ld: warning: cannot find entry symbol __start; defaulting to 0000000
mips-linux-ld: vmlinux: Not enough room for program headers (allocated 3, need
mips-linux-ld: final link failed: Bad value
make: *** [vmlinux] Error 1

I'm not too worried about the 'can't find symbol start', but the other message
is very odd. This is using binutils-2.8 and gcc- with gcc-2.7.2-3.diffs
and float.h found on fnet, all compiled with --target=mips-linux. Anybody seen
this one?


<Prev in Thread] Current Thread [Next in Thread>