Skip to content

Latest commit

 

History

History
836 lines (769 loc) · 40.9 KB

executables.linking_loading.md

File metadata and controls

836 lines (769 loc) · 40.9 KB

C++ links: Executables - Linking and Loading

See also:

Contents


Readings

Readings: Blogs

Readings: Books

Readings: Linker Scripts

Readings: LTO

Readings: OS: POSIX

macOS

Linux

Solaris

Readings: OS: Windows

Readings: Performance

Readings: Relaxation

Readings: Relocations

Readings: Research

Readings: Security

Readings: Shared Libraries


Software

Software: Linkers

Software: OS: macOS

Software: OS: Linux

Software: OS: Windows


Talks

Talks: 2024

Talks: 2023

  • Everything I wish they told me about linkers
  • How symbols work and why we need them
    • NDC TechTown 2023
    • Anders Schau Knatten
    • https://www.youtube.com/watch?v=iBQo962Sx0g
    • What symbols are, and why do we need them
    • Why your program has three different symbol tables
    • The difference between binding and visibility and how C/C++ linkage relates to the two
    • Where symbols are stored and how to view them
    • Global, local, weak, and unique symbols
    • Allowing users to override your functions/globals
    • How the linker handles C++ templates and inline variables
    • Which entities need symbols and which don't
    • Symbol tables used in static and dynamic linking
    • Default vs hidden visibility and a useful idiom to work with these
  • Meet mergeable libraries
  • Speeding up the BFD linker

Talks: 2022

Talks: 2021

Talks: 2019

Talks: 2018

Talks: 2017

Talks: 2016

Talks: 2012