This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: Versioning mess proved!!!
Geoff Keating <geoffk@cygnus.com> writes:
> Actually, weak symbols don't work at all in executables on x86,
Yes, the linker simply drops the relocations. Note that this is the
perfectly correct behavior unless you specify -rdynamic. But even
with -rdynamic the relocations are not there.
> which is probably why x86 doesn't see this problem.
Could be. But this hack to add these additional tests in ld.so is
still not correct. I must say I still don't understand what the
actual problem is. Why do we see a crash? If the symbol is available
the GLOB_DAT relocation returns zero and the function shouldn't be
called at all. Since you see a crash there must be a definition and
the PLT usage fails (at least I think this is was fails). But where
does the PLT address point to? Zero? If yes, why are the GLOB and
PLT relocation leading to different results?
--
---------------. ,-. 1325 Chesapeake Terrace
Ulrich Drepper \ ,-------------------' \ Sunnyvale, CA 94089 USA
Red Hat `--' drepper at redhat.com `------------------------