aboutsummaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2021-06-20 16:23:04 -0700
committerRichard Henderson <richard.henderson@linaro.org>2021-07-09 09:42:28 -0700
commit34f5e75a9427e00d0f9d745a2dc20a955ec935bf (patch)
tree264859d9dfdff8f786a50f9b12dc81c16880a6f4 /target
parent97eea3c19bda9537df35c43382f954335dceafff (diff)
downloadqemu-34f5e75a9427e00d0f9d745a2dc20a955ec935bf.zip
qemu-34f5e75a9427e00d0f9d745a2dc20a955ec935bf.tar.gz
qemu-34f5e75a9427e00d0f9d745a2dc20a955ec935bf.tar.bz2
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')
-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 5cd3e7d..47c967a 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();
}
}