提交 0fc37a8b 编写于 作者: A Aurelien Jarno

target/sh4: fix BS_STOP exit

When stopping the translation because the state has changed, goto_tb
should not be used as it might link TB with different flags.
Reviewed-by: NRichard Henderson <rth@twiddle.net>
Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
上级 47b9f4d5
......@@ -1901,8 +1901,9 @@ void gen_intermediate_code(CPUSH4State * env, struct TranslationBlock *tb)
} else {
switch (ctx.bstate) {
case BS_STOP:
/* gen_op_interrupt_restart(); */
/* fall through */
tcg_gen_movi_i32(cpu_pc, ctx.pc);
tcg_gen_exit_tb(0);
break;
case BS_NONE:
if (ctx.envflags) {
gen_store_flags(ctx.envflags);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册