How a Rogue Optimization Breaks C11 Memory Consistency

A widely used compiler optimization contains a serious error that breaks C11's memory consistency model by introducing a shared memory data race. Although the optimization is perfectly valid for single-threaded programs, it has the potential to break multi-threaded programs based on  both C11's threaded model and the commonly used pthreaded model.

By Marcel Beemster, Solid Sands


Related


Building Secure & Reliable IoT Devices

Network security will be one of the defining issues for embedded developers connecting to the IoT. Mass connectivity will present new risks as companies transmit and store data to create much rich...

Embedded Systems Safety & Security Survey

Andrew Girson, CEO of Barr Group, shares key findings of their 2017 Embedded Systems Safety & Security Survey. With responses from more than 1,700 qualified engineers worldwide, the independen...

What you say is what you get: an Ada story

Over the past 30+ years, Ada technology has matured into a unique toolset allowing programmers to achieve software reliability at a very affordable cost. It’s available for small microcontro...