[I don't think it's off-topic at all] Linking speed for C++

Richard Henderson rth@redhat.com
Wed May 9 11:45:00 GMT 2001


On Wed, May 09, 2001 at 11:39:04AM -0700, Joe Buck wrote:
> Clearly, if the pointer points to a global symbol that is defined
> externally, we we still need a relocation.  But it will be common to refer
> to a function whose definition comes from the same object file, or the
> same .so (meaning that relocations can be eliminated when building the
> shared library).

No, you misunderstand.  If the symbol is _visible_ externally, then a
dynamic relocation is required.  Even if the actual definition comes
from the current dso.  This is just the way ELF dynamic linking works.

> So it seems to me that at least some (though not all) relocations can be
> made to disappear on all platforms.

If you can't get rid of them all, then you can't make them read-only.

> This would require an extra instruction on the sparc but not the x86
> (though there could still be a penalty on the x86 because use of the
> ALU affects ILP).

Yes.  Oh well.  Whaddaya want, something for nothing?  ;-)


r~



More information about the Gcc mailing list