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

Re: More binaries

To: linux-mips@fnet.fr
Subject: Re: More binaries
From: Ralf Baechle <ralf@Julia.DE>
Date: Mon, 23 Sep 1996 14:36:23 +0200 (MET DST)
In-reply-to: <199609231106.AA23336@suite.sw.oz.au> from "Paul Antoine" at Sep 23, 96 09:06:09 pm
Hi,

> > > > Or are you talking about this special DECstation ECOFF problem?
> 
> I do seem to have this problem, now that I've got the rest of the kernel
> to compile with my latest DECstation source <yay!>...
> 
> When I make vmlinux using your new tools, with ELF intermediates, and
> a final ECOFF output, I get this:
> 
> vmlinux:     file format ecoff-littlemips
> 
> SECTION 0 [.text]     : size 000775a0 vma 80030000 lma 80030000 align 2**4
>  ALLOC, LOAD, CODE
> SECTION 1 [.rodata]   : size 00007b10 vma 800a7590 lma 800a7590 align 2**4
>  ALLOC, LOAD, DATA
> SECTION 2 [.reginfo]  : size 00000020 vma 800af0a0 lma 800af0a0 align 2**4
>  ALLOC, LOAD, DATA
> SECTION 3 [.data]     : size 000102d0 vma 800b0000 lma 800b0000 align 2**4
>  ALLOC, LOAD, DATA
> SECTION 4 [.sbss]     : size 00000000 vma 800c02d0 lma 800c02d0 align 2**4
>  ALLOC
> SECTION 5 [.bss]      : size 00015200 vma 800c02d0 lma 800c02d0 align 2**4
>  ALLOC
> SECTION 6 [.mdebug]   : size 0003f530 vma 800d54d0 lma 800d54d0 align 2**4
>  ALLOC, LOAD, READONLY, DATA

The .reginfo and .mdebug sections can be thrown away; they don't contain
valuable information.  mipsel-linux-strip --remove-section=<section>
can do this.  This is already done in order to build the ARC boot files.

> When I use my dec-ultrix crossdev tools, I get a vmlinux like this:
> 
> 
> ../linux-1.3.62/vmlinux:     file format ecoff-littlemips
> 
> SECTION 0 [.text]     : size 0008e220 vma 80030000 lma 80030000 align 2**4
>  ALLOC, LOAD, CODE
> SECTION 1 [.data]     : size 0001a1f0 vma 800bf000 lma 800bf000 align 2**4
>  ALLOC, LOAD, DATA
> SECTION 2 [.sbss]     : size 000001f4 vma 800d91f0 lma 800d91f0 align 2**4
>  ALLOC
> SECTION 3 [.bss]      : size 00013610 vma 800d93f0 lma 800d93f0 align 2**4
>  ALLOC
> 
> 
> ...and when the file loads, I can see the DECstation is just getting 
> what it thinks is the usual three sections (i.e. .text, .data and (.sbss +
> .bss), except that for the ELF-converted file it's .text, (.rodata + 
> .reginfo + .data + .bss) and then .bss again!
> 
> That, and the .sbss segment is not being explicitly zeroed by the
> linker and downloaded.

.sbss is a bss section and as such it has to be zeroed by the loader.  ld
can't even zero it because a .sbss section isn't even allocated in the file.

Did you try to enforce a file layout using linker scripts?  This should
be the difference between the "real" DECstation ECOFF config and the one
in the Linux/MIPS binutils.

> Any ideas?

> Yeah - so far I seem to have integrated the code o.k. - now all I need to
> do is to get it to boot!

> I know I'm close to getting this working with the standard toolset... I
> think it's important to really try to have a nice simple development
> environment (don't you agree, Amit?? :-)

This is nice.  Thomas is also working on fixing the 64 bit bugs in the
binutils so that Alphas hosts will be supported from the same source tree,
too.

> Help me Obe Wan...

May the source be with you,

  Ralf

-- 
A weird imagination is most useful to gain full advantage
of all the features - manpage of amd(8).

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