Fix software single-stepping: we need to check if the instruction is a

return instruction as well, or we'll stop single-stepping as soon as we'll
return from a function.

MFC after:	3 days
This commit is contained in:
Olivier Houchard 2008-08-02 12:49:43 +00:00
parent 4ed897041f
commit 08cfba5d14

View File

@ -269,7 +269,7 @@ db_set_single_step(void)
* at pc was not executed.
*/
inst = db_get_value(pc, sizeof(int), FALSE);
if (inst_branch(inst) || inst_call(inst)) {
if (inst_branch(inst) || inst_call(inst) || inst_return(inst)) {
brpc = branch_taken(inst, pc);
if (brpc != pc) { /* self-branches are hopeless */
db_taken_bkpt = db_set_temp_breakpoint(brpc);