Prelinking of shared libraries
Andreas Schwab
schwab@suse.de
Mon May 7 02:49:00 GMT 2001
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
More information about the Libc-alpha
mailing list