summaryrefslogtreecommitdiffstats
path: root/target/mips
diff options
context:
space:
mode:
authorRichard Henderson2021-06-21 01:23:04 +0200
committerRichard Henderson2021-07-09 18:42:28 +0200
commit34f5e75a9427e00d0f9d745a2dc20a955ec935bf (patch)
tree264859d9dfdff8f786a50f9b12dc81c16880a6f4 /target/mips
parenttarget/mips: Use translator_use_goto_tb (diff)
downloadqemu-34f5e75a9427e00d0f9d745a2dc20a955ec935bf.tar.gz
qemu-34f5e75a9427e00d0f9d745a2dc20a955ec935bf.tar.xz
qemu-34f5e75a9427e00d0f9d745a2dc20a955ec935bf.zip
target/mips: Fix missing else in gen_goto_tb
Do not emit dead code for the singlestep_enabled case, after having exited the TB with a debug exception. Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'target/mips')
-rw-r--r--target/mips/tcg/translate.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c
index 5cd3e7d8dd..47c967acbf 100644
--- a/target/mips/tcg/translate.c
+++ b/target/mips/tcg/translate.c
@@ -4958,8 +4958,9 @@ static void gen_goto_tb(DisasContext *ctx, int n, target_ulong dest)
if (ctx->base.singlestep_enabled) {
save_cpu_state(ctx, 0);
gen_helper_raise_exception_debug(cpu_env);
+ } else {
+ tcg_gen_lookup_and_goto_ptr();
}
- tcg_gen_lookup_and_goto_ptr();
}
}