News for hackers. Stuff that matters.
Re:How to miscompile programs with "benign" data races [pdf] by iracigt on Monday January 13, 2025 @01:45PM (#42686992)
Section 2.4 gives a concrete example, though there are some asterisks. The example is one where a compiler rewrites something like `while (...) x++;` to put `x` in a register: `int reg = x; while (...) reg++; x = reg`. The author reports this is an optimization GCC was observed doing, and means you can have a read-writeback even when the while condition is false to begin with. If this optimization appears interleaved with identical writes then you have problems.

There are no comments on this comment yet.