- Published on
Investigation · Part 5 of 20 · From source to a running process
Relocations: The Holes the Compiler Leaves for the Linker
An object file is full of zero bytes where addresses should be, with a note for each one. I followed these notes through the linker and the loader, computed the filled bytes by hand, and counted the relative relocations that a PIE still needs at startup: 3 in C, 607 in Rust.