Post #2085724
2022-12-06 18:12 UTC
@sunfish in fact, in C you often need to hide your MMIO accesses behind a call, because the compiler is usually more conservative about external calls than `volatile` accesses. And yes, you do get virtualisation "for free".
Citation about miscompiles: https://www.cs.utah.edu/~regehr/papers/emsoft08-preprint.pdf
Replies (1)
-
@lenary@types.pl 2022-12-06 18:17
@sunfish I haven't tried the transformation shown in this paper combined with LTO (which does cross-module inlining), but it seems best to just hide the accesses behind calls anyway.