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>

Reply via email to