Talk Preview: How Symbols Work and Why We Need Them
summary
Covers Linux ELF symbol mechanics for C and C++, showing how binaries actually map names to code and data, and how to inspect them with objdump/readelf. Explains why a program has three symbol tables, the practical difference between binding vs visibility, and how linkers handle C++ templates and inline variables. Demonstrates global/local/weak/unique symbols, techniques for allowing user overrides, storage locations, and the default vs hidden visibility idiom with concrete examples.
AI-written summary · about
related talks
01h 02mHow symbols work and why we need them
59m“C++ in Elvenland”
01h 26mWhat Does the Linker Actually Do for Us?
48mMy Little Object File: How Linkers Implement C++
31mAmong ELFs and DWARFs
01h 04mThe Bits Between the Bits: How We Get to main()
01h 23mC++ Linkers and the One Definition Rule
01h 00mFrom Program to Process - What Happens After the Compiler
