Ralf Baechle wrote:
> On Fri, Dec 06, 2002 at 05:45:58PM +0100, Thiemo Seufer wrote:
>
> > > If we want to preserve the setup cleanly, we
> > > probably need yet another ABI model in gcc (especially in the face of the
> > > coming changes to get rid of assembly macros), with sign-extended 32-bit
> > > pointers for accessing program segments and 64-bit ones for the remaining
> > > addresses.
> >
> > Do you think this is worth the hassle? N64 offers better flexibility in
> > the large memory case at some performance cost, and it's conceptionally
> > cleaner.
>
> Absolutely:
>
> [ralf@dea linux-sgi-2.4]$ mips64-linux-size vmlinux
> text data bss dec hex filename
> 1978296 317344 156224 2451864 256998 vmlinux
> [ralf@dea linux-sgi-2.4]$ mips64-linux-size vmlinux
> text data bss dec hex filename
> 1761168 317344 156224 2234736 221970 vmlinux
>
> The first kernel was built as 64-bit ELF using 64-bit pointer and everything
> 64-bit. The second kernel was built using the -Wa,-32 trick. That's over
> 12% of bloat for full 64-bitiness which brings zero gain.
I found that in the first case the text segment of my linux kernels
has trailing garbage in it, which can explain most of the difference.
I haven't looked into it yet, it seems to be harmless besides of
increasing file and memory size.
Could you have a look at the disassembly, I guess your kernels suffer
the same effect.
Thiemo
|