Skip to Main Content
Talk Intermediate

Rust Unlinked - A Journey through rustc, symbols and static libraries

Rejected
Session Description

Curious how a linker works with Rust programs on Unix-like systems? I’ll share my learnings on linking, rustc, symbol resolution and ELF.

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

References

Session Categories

Other
Which track are you applying for?
Compilers, Programming Languages and Systems Devroom

Speakers

Shriram Balaji Senior Software Engineer | Microsoft

Shriram Balaji works as a Senior Software Engineer at Microsoft in Microsoft 365 Core 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.

Shriram Balaji
https://x.com/shrirambalaji

Reviews

No reviews yet.