On 10/12/21 18:21, Richard Henderson wrote: > As per an ancient comment in mips_tr_translate_insn about the > expectations of gdb, when restarting the insn in a delay slot > we also re-execute the branch. Which means that we are > expected to execute two insns in this case. > > This has been broken since 8b86d6d2580, where we forced max_insns > to 1 while single-stepping. This resulted in an exit from the > translator loop after the branch but before the delay slot is > translated. > > Increase the max_insns to 2 for this case. In addition, bypass > the end-of-page check, for when the branch itself ends the page. > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > --- > target/mips/tcg/translate.c | 25 ++++++++++++++++--------- > 1 file changed, 16 insertions(+), 9 deletions(-)
Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org>