提交 ee600be6 编写于 作者: A aurel32

ppc: fix crash in ppc system single step support

There was a bogus case where two system debug ops get generated.  This
patch removes the broken system debug op. This was a left over after
making some changes to correctly generate debug ops on branch
operations inside gen_goto_tb();

The test case against this patch is to turn on single stepping with
timers, boot a linux kernel, set a breakpoint a do_fork and in gdb
execute "si 3000".  Then qemu-system-ppc will fault executing a debug
op, which should not have been executed.
Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5391 c046a42c-6fe2-441c-8c8c-71466251a162
上级 3003b8bb
......@@ -3048,10 +3048,6 @@ static always_inline void gen_bcond (DisasContext *ctx, int type)
#endif
gen_op_btest_T1(ctx->nip);
no_test:
if (ctx->singlestep_enabled & GDBSTUB_SINGLE_STEP) {
gen_update_nip(ctx, ctx->nip);
gen_op_debug();
}
tcg_gen_exit_tb(0);
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册