linux-mips-fnet
[Top] [All Lists]

Re: help with asm errors

To: linux-mips@guadalquivir.fnet.fr
Subject: Re: help with asm errors
From: David Monro <davidm@fuzzbox.psrg.cs.usyd.edu.au>
Date: Sun, 11 May 1997 11:40:48 +1000 (EST)
In-reply-to: <199705102304.XAA20867@suede.sw.oz.au>
Reply-to: David Monro <davidm@fuzzbox.psrg.cs.usyd.edu.au>
Sender: davidm@fuzzbox.psrg.cs.usyd.edu.au
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:
#ifndef CONFIG_MIPS_DECSTATION
                .org 0x8000
#else
                .org . + 0x8000
#endif /* CONFIG_MIPS_DECSTATION */

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
/amd/milawa/root/u2/staff/davidm/mips/linux-2.1.1.dec/lib/lib.a
arch/mips/lib/lib.a -o vmlinux
mips-linux-ld: warning: cannot find entry symbol __start; defaulting to 0000000
080100000
mips-linux-ld: vmlinux: Not enough room for program headers (allocated 3, need
4)
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-2.7.2.2 with gcc-2.7.2-3.diffs
and float.h found on fnet, all compiled with --target=mips-linux. Anybody seen
this one?

        David

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