Finding ODR Violations with ORC

Finding ODR Violations with ORC

15:10 - 15:30 Thursday 7th April 2022 BST



C++'s One Definition Rule is one of the more obscure corners of the language. The problem with violating ODR is that it can lead to malignant application behavior that can be exceedingly difficult to root out. ODRs are also typically not found by tooling, as the Standard permits (and in some cases encourages) tooling to be silent about the violations it detects. In this talk, we cover the basics of the One Definition Rule, the ways in which build systems can cause ODR violations to happen, and finally ORC, a linker-wrapping tool that can be used to identify ODR violations in software.


Foster Brereton

I am a senior computer scientist at Adobe. I have been with the company nearly 25 years, and a majority of that has been spent working on Photoshop. Most recently, I have been working on the architectural underpinnings that are driving Photoshop on the iPad and Photoshop on the Web.


Lee Thomason

I am a Principal Scientist at Adobe. I work on Photoshop with an emphasis on performance and improving the product through tools and automation. Before Photoshop, I worked on product research, the Flash Player, and video games.#

Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED

By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED

Settings can be changed at any time from the Cookie Policy page.