This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: Prelinking of shared libraries
Waldo Bastian <bastian@kde.org> writes:
|> How does this work? .rel.got only contains R_386_GLOB_DATA relocations and
|> .rel.plt contains only R_386_JUMP_SLOT relocations. But the .plt section is
|> marked readonly... So the entries of .rel.got and .rel.plt both end up
|> modifiying .got? The numbers seem to add up...
The PLT entry jumps through the corresponding GOT entry, which is
initialized by R_386_JUMP_SLOT to point to the dynamic resolver (lazy) or
the resolved function (non-lazy). The dynamic resolver just modifies the
GOT entry. On architectures where the PLT is writable the dynamic
resolver modifies the PLT entry itself, and no additional GOT entry is
created.
Andreas.
--
Andreas Schwab "And now for something
SuSE Labs completely different."
Andreas.Schwab@suse.de
SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5