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 34e3056380..b1b8b8bba3 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -1399,7 +1399,6 @@ TranslationBlock *tcg_tb_alloc(TCGContext *s) goto retry; } qatomic_set(&s->code_gen_ptr, next); - s->data_gen_ptr = NULL; return tb; } @@ -6172,6 +6171,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