On 02/04/21 10:29, Ziqiao Kong wrote:
According to git blame, this bug is introduced about 13 years ago:
https://github.com/qemu/qemu/blame/633decd71119a4293e5e53e6059026c517a8bef0/target-i386/fpu_helper.c#L997.
We also had a patch for this bug:
https://github.com/unicorn-engine/unicorn/commit/59b09a71bfc6fd8b95357944f6be9aa54f424421
which you may refer to. I can also help draft a patch if necessary.
Hi!
Unfortunately the patch is incorrect, because fpu_update_ip is called
only at translation time and not at run-time. If more than one x87
instruction is present in the same translation block, or if a
translation block has been compiled after the one that is executing,
env->fpip will be incorrect.
Thanks,
Paolo