On Mon, Jan 26, 2015 at 9:54 PM, Javier Picorel <javier.pico...@epfl.ch> wrote: > Hi, > > We are trying to make QEMU deterministic for > architectural simulation. In the absence of I/O, > let’s say only executing user code or exceptions, > is there any source of indeterminism (e.g., non > deterministic compiler optimizations, TB indeterminism) > of QEMU’s DBT versus a canonical interpreter? Thanks!
I have only hit two sources of variations: - time; for instance SPEC 2000 173.gcc dumps time at the end, so you'll get slightly different results each run - environment variables which are parsed by the runtime at process start; to get around that issue you'll have to reintroduce -ignore-environment which was removed some time ago (see commit fc9c54124d134dbd76338a92a91804dab2df8166) A "canonical interpreter" would have the same issues. HTH, Laurent