marss icon indicating copy to clipboard operation
marss copied to clipboard

ptlsim/qemu: Disable compiler optimizations

Open tj90241 opened this issue 3 years ago • 0 comments

This is unfortunate, but after obtaining the default, official MARSS image and running the FFT simulation with ./start_sim and ./stop_sim, it seems broken. It errors out with:

Switching to simulation
ptlsim_ptlcall_init: mapped PTLcall MMIO page at phys 0x8fffff000, virt
0x7f9520458000
PTLCALL type PTLCALL_ENQUEUE
MARSSx86::Command received : -run
Warning: only one action (from -run, -stop, -kill) can be specified at
once

I'm running Debian Bullseye (stable) with the default GCC and build tools shipped with it, so nothing fancy here.

Knowing that ptlsim, has a lot of reliance on undefined behavior throughout its codebase, I disabled compiler optimizations and everything began working as expected again.

There's practical ways to fuzz for what's breaking things here, but this was a rather obvious error. There could also be subtle ones that invalidate or produce poor/bad/fake simulation results. Until uses of undefined behavior are squashed or at least somewhat fuzzed for, disable compiler optimizations to prevent surprises.

Signed-off-by: Tyler J. Stachecki [email protected]

tj90241 avatar Feb 12 '22 20:02 tj90241