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
This commit is contained in:
parent
f8c8799840
commit
7739f36e38
|
@ -812,10 +812,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)dc->pc;
|
||||
gen_opc_instr_start[lj] = 1;
|
||||
}
|
||||
}
|
||||
disas_arm_insn(dc);
|
||||
} while (!dc->is_jmp && gen_opc_ptr < gen_opc_end &&
|
||||
(dc->pc - pc_start) < (TARGET_PAGE_SIZE - 32));
|
||||
|
|
|
@ -4122,11 +4122,11 @@ 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;
|
||||
}
|
||||
}
|
||||
ret = disas_insn(dc, pc_ptr);
|
||||
if (ret == -1) {
|
||||
/* we trigger an illegal instruction operation only if it
|
||||
|
|
Loading…
Reference in a new issue