Prev Next | Secure Lazy Binding | Slide #8 |
PLT is never changed
linker knows offset between GOT and PLT
PLT code uses "load from %rip-relative address" instructions to get values from GOT
initial call to a PLT entry gets another address in the PLT, which calls dynamic linker
dynamic linker just updates the GOT entry used by the function's PLT entry
i386 is similar, but no %eip-relative addressing
caller of PLT has to set %ebx to point to GOT
EuroBSDCon 2014 | Copyright © 2014 Philip Guenther |