Tag · DWARF
5 articles to explore.
[The World of Linkers—Lab 12] Make Debug Information Follow Addresses
2026-10-06
Add debug sections, symbols, and section headers to ET_EXEC and static PIE, keeping image, debug-section, and TLS coordinates distinct.
Read article
[The World of Linkers—Lab 09] Link Before the Load Address Is Known
2026-10-06
Build a static PIE from class8's frontend and class6's layout, separating static fixups from load-time pointers repaired by supplied startup code.
Read article
[The World of Linkers—Theory 11] Teaching Machine Code to Remember Its Source
2026-10-04
Follow a deleted function through DWARF tombstones, debug relocations, string merging, compression, separate debug files, build IDs, and split DWARF—and test whether the debugger still tells the truth.
Read article
[The World of Linkers—Theory 08] Finding the Way Back Up the Stack
2026-10-04
A return address is only the beginning. Decode real CIEs and FDEs, follow a C++ exception through its two phases, and see how the linker makes unwind information survive garbage collection and become searchable at runtime.
Read article
[The World of Linkers—Theory 01] The Long Road from Names to Addresses
2026-10-04
A linker began as a way to move reusable code. Follow the problems that led to object files, shared libraries, unwind tables, security metadata, and modern parallel linkers—then link a small program by hand.
Read article