summaryrefslogtreecommitdiffstats
path: root/target-i386/translate.c
diff options
context:
space:
mode:
authorths2007-04-27 02:01:20 +0200
committerths2007-04-27 02:01:20 +0200
commit2f6ecc62eef8c591d9266309362989e8518dad7e (patch)
treef13ad7e7df7506e17d1ee16edfdb67d018c20739 /target-i386/translate.c
parentFix inc8 and dec8 operations, by Magnus Damm. (diff)
downloadqemu-2f6ecc62eef8c591d9266309362989e8518dad7e.tar.gz
qemu-2f6ecc62eef8c591d9266309362989e8518dad7e.tar.xz
qemu-2f6ecc62eef8c591d9266309362989e8518dad7e.zip
Workaround qemu guest SIGSEGVs with cmpxchg8b insn, by Juergen Keil.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2732 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-i386/translate.c')
-rw-r--r--target-i386/translate.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/target-i386/translate.c b/target-i386/translate.c
index 735acb0e47..53ccc85990 100644
--- a/target-i386/translate.c
+++ b/target-i386/translate.c
@@ -3797,6 +3797,7 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start)
mod = (modrm >> 6) & 3;
if (mod == 3)
goto illegal_op;
+ gen_jmp_im(pc_start - s->cs_base);
if (s->cc_op != CC_OP_DYNAMIC)
gen_op_set_cc_op(s->cc_op);
gen_lea_modrm(s, modrm, &reg_addr, &offset_addr);