From: Richard Henderson <richard.hender...@linaro.org> This pointer needs to be reset after overflow just like code_buf and code_ptr.
Cc: qemu-sta...@nongnu.org Fixes: 57a269469db ("tcg: Infrastructure for managing constant pools") Acked-by: Alistair Francis <alistair.fran...@wdc.com> Reviewed-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: LIU Zhiwei <zhiwei_...@linux.alibaba.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> (cherry picked from commit a7cfd751fb269de4a93bf1658cb13911c7ac77cc) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> diff --git a/tcg/tcg.c b/tcg/tcg.c index 0c0bb9d169..183db00b16 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -1411,7 +1411,6 @@ TranslationBlock *tcg_tb_alloc(TCGContext *s) goto retry; } qatomic_set(&s->code_gen_ptr, next); - s->data_gen_ptr = NULL; return tb; } @@ -6156,6 +6155,7 @@ int tcg_gen_code(TCGContext *s, TranslationBlock *tb, uint64_t pc_start) */ s->code_buf = tcg_splitwx_to_rw(tb->tc.ptr); s->code_ptr = s->code_buf; + s->data_gen_ptr = NULL; #ifdef TCG_TARGET_NEED_LDST_LABELS QSIMPLEQ_INIT(&s->ldst_labels); -- 2.39.5