diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2020-07-20 10:35:00 -0700 |
---|---|---|
committer | Michael Roth <mdroth@linux.vnet.ibm.com> | 2020-09-02 19:06:19 -0500 |
commit | 2f783fb4591fa244447547d226daed643820e2ef (patch) | |
tree | d9fd696b8515e13406a53ca806e719482af5acad | |
parent | d7fab184e98bc0d482b0203fd3333da972b7ca5f (diff) | |
download | qemu-2f783fb4591fa244447547d226daed643820e2ef.zip qemu-2f783fb4591fa244447547d226daed643820e2ef.tar.gz qemu-2f783fb4591fa244447547d226daed643820e2ef.tar.bz2 |
target/hppa: Free some temps in do_sub
Two temps allocated but not freed. Do enough subtractions
within a single TB and one can run out of temps entirely.
Fixes: b2167459ae ("target-hppa: Implement basic arithmetic")
Buglink: https://bugs.launchpad.net/qemu/+bug/1880287
Tested-by: Sven Schnelle <svens@stackframe.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20200720174039.517902-1-richard.henderson@linaro.org>
(cherry picked from commit 79826f99feb7222b7804058f0b4ace9ee0546361)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
-rw-r--r-- | target/hppa/translate.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/target/hppa/translate.c b/target/hppa/translate.c index 52d7bea..4bd22d4 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); |