

David Lattimore – Faster Linker, Faster Builds
Jun 3, 2025
David Lattimore is on a mission to expedite builds in Rust projects with his innovative linker, Wild. He shares insights into the complex world of linkers, discussing their critical role in optimizing code compilation. The conversation dives into challenges around linking processes, especially the interaction between Rust and C, and highlights features that can enhance development environments. Lattimore also emphasizes the quest for immediate feedback in programming, making a case for balancing performance with usability in the ever-evolving coding landscape.
AI Snips
Chapters
Transcript
Episode notes
Use Clang to Customize Linker
- Use Clang instead of GCC to easily switch to a custom linker like Wild in Cargo.
- GCC is inflexible about linkers and requires tricking it to use non-standard tools.
Linker's Crucial Role Explained
- The linker merges object file sections into an executable, deciding where to place code and data sections.
- It loads referenced archive entries, removes dead code, lays out sections, and writes the final binary.
Relocations Enable Linking
- The compiler emits relocations for the linker to resolve addresses of functions and data.
- The linker applies and sometimes optimizes these relocations, understanding machine instructions and architecture.