|
From: | Paolo Bonzini |
Subject: | Re: Bug: fstenv is wrongly implemented |
Date: | Fri, 2 Apr 2021 10:45:26 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 |
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
[Prev in Thread] | Current Thread | [Next in Thread] |