On Thu, 17 Feb 2011, Jan Hubicka wrote: > > REL is horrible pain, we shouldn't ever add new REL targets. > > 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)
Well - as noted there, while EABI supports both, binutils just uses REL on ARM (except for VxWorks, where it uses RELA). Supporting both simultaneously - linking a mixture of objects with the two types, possibly with both mixed within a single object - is much more of a pain (at least for the BFD linker, I don't know about gold) than simply supporting one or the other for a single ABI - it's required by ARM EABI, but that bit of EABI isn't actually supported by binutils. I think most of the target-independent BFD problems with mixing REL and RELA have been ironed out by now in the course of Bernd's work on linking objects from TI's C6X tools, but it also needs care in the target-specific BFD code (you always need to check for each individual relocation what sort it is, rather than checking any global flag). -- Joseph S. Myers jos...@codesourcery.com