Versioning mess proved!!!

Roland McGrath roland@gnu.org
Mon Oct 2 13:59:00 GMT 2000


> Geoff Keating <geoffk@cygnus.com> writes:
> > The test must be done when the data reference is resolved.  If the
> > data reference would be resolved to a PLT entry, and the data
> > reference is weak, then it must be checked that there is a real
> > definition somewhere as well as the PLT entry.  I think this will be
> > easy to fit into the current do-lookup logic without any significant
> > performance impact.
> 
> But this will impact programs which expect lazy relocation.  Imagine a
> program running dlopen() with RTLD_GLOBAL to satisfy such a undefined
> reference.

I don't follow you.  Geoff is talking about data references, which are
always relocated at startup.  Such references resolve to zero now even
though lazy relocation of the corresponding PLT references might later be
resolved differently after a dlopen(,RTLD_GLOBAL).

> I'm not really sure whether we should try to work on these things.

I would hope that the ELF spec (especially the new one you all have been
working on) would be clear on the correct behavior in these cases.



More information about the Libc-alpha mailing list