This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: x32 psABI draft version 0.2


> On Thu, Feb 17, 2011 at 04:44:53PM +0100, Jan Hubicka wrote:
> > > > According to Mozilla folks however REL+RELA scheme used by EABI leads
> > > > to significandly smaller libxul.so size
> > > >
> > > > According to http://glandium.org/blog/?p=1177 the difference is about 4-5MB
> > > > (out of approximately 20-30MB shared lib)
> > > 
> > > This is orthogonal to x32 psABI.
> > 
> > Understood.  I am just pointing out that x86-64 Mozilla suffers from startup
> > problems (extra 5MB of disk read needed) compared to both x86 and ARM EABI
> > because x86-64 ABI is RELA only. If x86-64 ABI was REL+RELA like EABI is, we
> > would not have this problem here.
> 
> libxul.so has < 200000 relocs, so 5MB is total size of .rela section in
> 64-bit ELF, you don't magically save those 5MB by using REL.  You save
> just 1.5MB.  And for x32 we'd be talking about 2.5MB for RELA vs. 1.6MB for

The blog claims
Architecture 	libxul.so size 	relocations size 	%
x86 	21,869,684 	1,884,864 	8.61%
x86-64 	29,629,040 	5,751,984 	19.41%

The REL encoding also grows twice for 64bit target?

> REL.  There might be better ways how to get the numbers down.

These are difficult since they mostly come from vtables and we need to be
pretty smart to optimize vtable out completely.  Mozilla recently started to
use elfhack (in official builds) that is sort of their own dynamic linker
handling PC relative relcoations only.  Pretty ugly IMO but they claim 16%
savings on x86-64, 6% on x86

Honza
> 
> 	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]