What Is an ABI, and Why Should You Care?
summary
Defines ABI as the binary guarantee that lets decade‑old programs run, demonstrates concrete breakages: renaming a symbol causes undefined symbol errors, changing a function signature crashes at runtime, reordering struct fields produces silent wrong results (22 becomes 1). Shows practical fixes: symbol versioning and opaque types preserve compatibility, use libabigail/abidiff in CI to detect ABI changes*, explains distributions and KABI keep user syscall stability, and cites emulators/FFI (Wine, QEMU, Python FFI) as working examples of ABI engineering.
AI-written summary · about
related talks
39mWhat Is an ABI, and Why Should You Care?
42mKernel ABI Monitoring a...
40mImproving UAPI Compatibility Review with Automated Tooling
01h 26mLinux User/Kernel ABI: the realities of how C and C++ programs really talk to the OS
44mLinux Kernel Control-Flow Integrity Sup...
58mFineIBT Enhanced: Hardening Linux’s Microarchitectural Security on X86
45mModernizing the kdump dump tools
36mThe journey of BPF from restricted C language towards extended and safe C.
