On 7/20/20 7:40 PM, Richard Henderson wrote: > Two temps allocated but not freed. Do enough subtractions > within a single TB and one can run out of temps entirely. > > Cc: qemu-sta...@nongnu.org
Fixes: b2167459ae ("target-hppa: Implement basic arithmetic") > Buglink: https://bugs.launchpad.net/qemu/+bug/1880287 > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > target/hppa/translate.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/target/hppa/translate.c b/target/hppa/translate.c > index 52d7bea1ea..4bd22d4820 100644 > --- a/target/hppa/translate.c > +++ b/target/hppa/translate.c > @@ -1294,6 +1294,8 @@ static void do_sub(DisasContext *ctx, unsigned rt, > TCGv_reg in1, > save_or_nullify(ctx, cpu_psw_cb_msb, cb_msb); > save_gpr(ctx, rt, dest); > tcg_temp_free(dest); > + tcg_temp_free(cb); > + tcg_temp_free(cb_msb); > > /* Install the new nullification. */ > cond_free(&ctx->null_cond); >