2 ms·
None of what you said makes any sense. You're mixing "UB" and bugs. UB is about declaring programs invalid with a snide "don't do that", not about incorrect ex
by imtringued 1y ago
None of what you said makes any sense. You're mixing "UB" and bugs.
UB is about declaring programs invalid with a snide "don't do that", not about incorrect execution due to an incorrect specification. E.g. speculative execution running in privileged mode due to a prior syscall is just a plain hardware bug. It's not undefined behavior. In fact, the bug in question is extremely well defined.
The closest thing to reading undefined behavior is reading a "don't care" or VHDL's 'U' value from a std_ulogic and even those are well defined in simulation, just not in physical hardware, but even there they can only ever be as bad as reading a garbage value. Since a lot of the hardware design is non-programmable, there is also usually no way to exploit it.