Commit 7739f36e38fa9f02a6079853e797aea1b647e968

Authored by bellard
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
translate-arm.c
@@ -812,9 +812,9 @@ static inline int gen_intermediate_code_internal(TranslationBlock *tb, int searc @@ -812,9 +812,9 @@ static inline int gen_intermediate_code_internal(TranslationBlock *tb, int searc
812 lj++; 812 lj++;
813 while (lj < j) 813 while (lj < j)
814 gen_opc_instr_start[lj++] = 0; 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 disas_arm_insn(dc); 819 disas_arm_insn(dc);
820 } while (!dc->is_jmp && gen_opc_ptr < gen_opc_end && 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,10 +4122,10 @@ static inline int gen_intermediate_code_internal(TranslationBlock *tb, int searc
4122 lj++; 4122 lj++;
4123 while (lj < j) 4123 while (lj < j)
4124 gen_opc_instr_start[lj++] = 0; 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 ret = disas_insn(dc, pc_ptr); 4130 ret = disas_insn(dc, pc_ptr);
4131 if (ret == -1) { 4131 if (ret == -1) {