~/talk

Finding ODR Violations with ORC

Talkat ACCU 2022 · 2022-04-06..04-09· [c-and-cpp, compilers-and-language-design]
links:none on file
slides:none on file

C++ One Definition Rule bugs can silently corrupt behavior across builds; ORC wraps the linker, scans DWARF debug info and flags mismatched type and vtable definitions, turning silent UB into actionable reports. It processes about 200 million DWARF DIEs in roughly a minute using tens of GB of RAM, found about 520 ODR violations in a Photoshop unit test build, and can run inside Xcode or CI to fail links until mismatches are fixed.

AI-written summary · about

  1. 0:00Intro
  2. 0:34The One Definition Rule
  3. 3:16Example: One Definition Rule Violation
  4. 8:26ODRV Behaviors
  5. 14:39How ORC Works
  6. 16:16Augmenting the Linker
  7. 17:12What Does an ODRV Report Look Like?
  8. 18:27Example: Photoshop Unit Test Application
  9. 22:03Take the ORC challenge!
  10. 22:40Use ORC for Debugging
  11. 23:25Improving ORC
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.