Prev Next | Secure Lazy Binding | Slide #7 |
We want to maximize sharing of memory between processes
text (code) and read-only memory shouldn't change
...even when the library or executable is loaded at a random location (ASLR)
generated code accesses variables and functions using relative addresses or by indirecting through a table
the mappings needed by a program or library are packed into indirection tables
GOT: global offset table
stores final addresses of variables and functions
PLT: procedure linkage table
directly callable stub routines
many architecture specific details
EuroBSDCon 2014 | Copyright © 2014 Philip Guenther |