»Schedule // Talk
Friday, October 10
16:15–16:45
Side Stage

Rust Unlinked - a Journey Through `rustc`, Symbols, and Static Libraries

In this talk, I’ll take you through my journey of exploring Rust’s linking process. We’ll dive into the rustc compiler, understand symbol resolution, and dissect the ELF format. You’ll learn about Rust’s compilation pipeline, manual static linking and more.

Here’s what we’ll cover:
• Basics of Linking: How linkers work with Rust Programs, making everything fit together like puzzle pieces.
• Rust Compilation Stages: Understanding the step-by-step process of how Rust source files are turned into executable programs.
• Symbol Resolution: How the linker matches variable and function names to their memory addresses.
• ELF Format: What’s inside an ELF object file, and why it’s important.
• Manual Linking: Trying to manually linking static Rust libraries with simple examples.
• LLVM & Link Time Optimization: Cursory look at how Rust uses LLVM as a compiler backend, and lto

This talk is perfect for developers eager to understand Rust’s build process. Let’s link all the pieces together and uncover the mysteries of Rust linking!

Speaker

Shriram Balaji

Shriram Balaji works as a Senior Software Engineer at Microsoft in M365 building large scale distributed systems that deal with O(exabytes) of data and trillions of requests per day. He likes to tinker with systems, databases, compilers and things on the web

Get tickets