DT_REL vs DT_JMPREL

Ian Lance Taylor ian@zembu.com
Tue Feb 13 09:48:00 GMT 2001


"YU Tang" <squalls_tang@263.net> writes:

> I found entry DT_REL reference to section .rel.got ,and DT_JMPREL
> refernce to section .rel.plt;but I still don't understand what's
> difference between them;

DT_REL, DT_RELSZ, and DT_RELENT describe all the relocations.
DT_JMPREL gives the address of the start of the jump table
relocations.

The dynamic linker generally does not have to compute jump table
relocations when a program starts.  It does have to compute all
non-jump-table relocations.  Typically the dynamic linker will compute
all the relocations between DT_REL and DT_JMPREL when the program
starts.  The relocations after DT_JMPREL will be computed lazily as
needed.

See the ELF ABI.

Ian



More information about the Binutils mailing list