Commit 7739f36e38fa9f02a6079853e797aea1b647e968
1 parent
f8c87998
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
Showing
2 changed files
with
5 additions
and
5 deletions
translate-arm.c
| ... | ... | @@ -812,9 +812,9 @@ static inline int gen_intermediate_code_internal(TranslationBlock *tb, int searc |
| 812 | 812 | lj++; |
| 813 | 813 | while (lj < j) |
| 814 | 814 | gen_opc_instr_start[lj++] = 0; |
| 815 | - gen_opc_pc[lj] = (uint32_t)dc->pc; | |
| 816 | - gen_opc_instr_start[lj] = 1; | |
| 817 | 815 | } |
| 816 | + gen_opc_pc[lj] = (uint32_t)dc->pc; | |
| 817 | + gen_opc_instr_start[lj] = 1; | |
| 818 | 818 | } |
| 819 | 819 | disas_arm_insn(dc); |
| 820 | 820 | } while (!dc->is_jmp && gen_opc_ptr < gen_opc_end && | ... | ... |
translate-i386.c
| ... | ... | @@ -4122,10 +4122,10 @@ static inline int gen_intermediate_code_internal(TranslationBlock *tb, int searc |
| 4122 | 4122 | lj++; |
| 4123 | 4123 | while (lj < j) |
| 4124 | 4124 | gen_opc_instr_start[lj++] = 0; |
| 4125 | - gen_opc_pc[lj] = (uint32_t)pc_ptr; | |
| 4126 | - gen_opc_cc_op[lj] = dc->cc_op; | |
| 4127 | - gen_opc_instr_start[lj] = 1; | |
| 4128 | 4125 | } |
| 4126 | + gen_opc_pc[lj] = (uint32_t)pc_ptr; | |
| 4127 | + gen_opc_cc_op[lj] = dc->cc_op; | |
| 4128 | + gen_opc_instr_start[lj] = 1; | |
| 4129 | 4129 | } |
| 4130 | 4130 | ret = disas_insn(dc, pc_ptr); |
| 4131 | 4131 | if (ret == -1) { | ... | ... |