> On Fri, Feb 18, 2011 at 12:11 AM, Jan Beulich <jbeul...@novell.com> wrote: > >>>> On 17.02.11 at 18:59, "H.J. Lu" <hjl.to...@gmail.com> wrote: > >> On Thu, Feb 17, 2011 at 8:11 AM, Jan Beulich <jbeul...@novell.com> wrote: > >>>>>> On 17.02.11 at 16:49, "H.J. Lu" <hjl.to...@gmail.com> wrote: > >>>> On Thu, Feb 17, 2011 at 7:44 AM, Jan Hubicka <hubi...@ucw.cz> 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. > >>>>> > >>>> > >>>> If people want to see REL+RELA in x32, they have to contribute codes. > >>> > >>> That's exactly the wrong way round: First the specification has to allow > >>> for (but not require) it, and only then does it make sense to write code. > >>> > >> > >> No, it has to be supported at least by static linker and dynamic > >> linker. Otherwise, no one can use it. > > > > I'm afraid I have to disagree: ELF (and the psABI) is not specific to > > a particular OS, and hence it allowing something doesn't mean the > > OS ABI may not restrict it. Hence the psABI first has to at least not > > forbid something (as it currently does for REL on x86-64), in order > > for an implementation of that something to make sense. > > > > Jan > > > > > > How about only allowing REL relocations in executables and DSOes?
I don't know, I am not really expert in this area. So I am not quit sure if allowing REL is good idea given the mess they imply in binutils sources. I guess it makes sense supposing that it is easy for linker to turn RELAs at input with addend fitting range into RELs. I wondered, based on the Mozilla experience, if we don't want to make REL optional in x86-64 ABI, too? Honza