From: bellard Date: Fri, 11 Jul 2003 14:49:22 +0000 (+0000) Subject: fixed EIP exception bug in case of nop operations (kernel 2.5.74 copy_from_user(... X-Git-Tag: v0.4.3~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7739f36e38fa9f02a6079853e797aea1b647e968;p=thirdparty%2Fqemu.git fixed EIP exception bug in case of nop operations (kernel 2.5.74 copy_from_user() bug) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@320 c046a42c-6fe2-441c-8c8c-71466251a162 --- diff --git a/translate-arm.c b/translate-arm.c index 6020e772d31..8b249ba1507 100644 --- a/translate-arm.c +++ b/translate-arm.c @@ -812,9 +812,9 @@ static inline int gen_intermediate_code_internal(TranslationBlock *tb, int searc lj++; while (lj < j) gen_opc_instr_start[lj++] = 0; - gen_opc_pc[lj] = (uint32_t)dc->pc; - gen_opc_instr_start[lj] = 1; } + gen_opc_pc[lj] = (uint32_t)dc->pc; + gen_opc_instr_start[lj] = 1; } disas_arm_insn(dc); } while (!dc->is_jmp && gen_opc_ptr < gen_opc_end && diff --git a/translate-i386.c b/translate-i386.c index fdbd5ee9224..a8ee672b24e 100644 --- a/translate-i386.c +++ b/translate-i386.c @@ -4122,10 +4122,10 @@ static inline int gen_intermediate_code_internal(TranslationBlock *tb, int searc lj++; while (lj < j) gen_opc_instr_start[lj++] = 0; - gen_opc_pc[lj] = (uint32_t)pc_ptr; - gen_opc_cc_op[lj] = dc->cc_op; - gen_opc_instr_start[lj] = 1; } + gen_opc_pc[lj] = (uint32_t)pc_ptr; + gen_opc_cc_op[lj] = dc->cc_op; + gen_opc_instr_start[lj] = 1; } ret = disas_insn(dc, pc_ptr); if (ret == -1) {