Back To Schedule

Leveraging the Linker

A Tour of Link-Time Operations and their Practical Applications

16:30 - 18:00 Thursday 7th May 2026 MT Bethe Hall
Intermediate
Advanced
Generic/Metaprogramming

Embedded and kernel developers have long used a technique called "linker sets" to put the linker to work, collecting statically initialized elements from across translation units into a single collection. Can we use this technique in modern C++? Could we use it in a template even?

In this talk we'll use linker sets as a view into the least loved element of the toolchain, the linker. We'll talk about object formats, optimizations like link-time code generation and COMDAT folding, and the attributes available to manipulate the behavior of the linker. We'll use these techniques to implement linker sets for modern C++, and yes, we can even use them in a template.

View Slides

Vito Gamberini

R&D EngineerKitware

Originally a member of the Naval Nuclear Propulsion community with the US Navy, Vito Gamberini transitioned to C/C++ developer and educator in his post-naval career.

Vito lectured on computer architecture and toolchain development at NYU Tandon School of Engineering for four years before joining Kitware to work on build tooling for a range of language communities, with a focus on C/C++.