Graph-based ABI analysis for fun and profit
summary
Graph-based ABI toolchain STG reads BTF and DWARF, builds a unified symbol/type graph and uses an SCC-based diff to avoid repeated work; it consumes 18 million DIEs in 18s, produces ~12 million raw SG nodes then deduplicates to ~45,000 nodes, and reads/writes SG output in subsecond time. Native DWARF support required custom type unification, the SCC algorithm proves effective on cyclic C types, and the system already enforces stable Android kernel and library ABIs. STG BTF reader
AI-written summary · about
chapters (10)
- 0:00Introduction and motivation
- 7:29Why develop new tools
- 15:45Graph-based ABI analysis
- 22:45Q&A on opaque types
- 25:57Second talk introduction
- 26:39Speeding up kernel builds
- 33:22Include What You Use challenges
- 38:00Header refactoring progress
- 41:13Future research and tooling needs
- 49:41Q&A and closing remarks
related talks
40mCompact C Type Format in the GNU Toolchain
21mDemystify Today's Binary Disassembling and How Modern ABI Makes it Easier
24m(Ab)using Compiler Tools
01h 15mReliable Stack Traces, the Reality of Myth
23mAlways present type information thanks to BPF: BTF
55mCompilers. Dalvik. ART. And everything in between
45mSupporting BPF in the GNU Toolchain
23mAn In-Depth Analysis of Disassembly on Full-Scale x86/x64 Binaries
