diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2019-04-21 13:51:56 -0700 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2019-04-24 13:05:28 -0700 |
commit | 1768987b73fa7e23e58b7844abe5882490ff8e42 (patch) | |
tree | 3a2528c65651be443e8f33e156a23059b94e213f /tcg/tcg.c | |
parent | 7ecd02a06f8f4c0bbf872ecc15e37035b7e1df5f (diff) |
tcg: Restart TB generation after constant pool overflow
This is part b of relocation overflow handling.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'tcg/tcg.c')
-rw-r--r-- | tcg/tcg.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -1019,8 +1019,8 @@ void tcg_prologue_init(TCGContext *s) #ifdef TCG_TARGET_NEED_POOL_LABELS /* Allow the prologue to put e.g. guest_base into a pool entry. */ { - bool ok = tcg_out_pool_finalize(s); - tcg_debug_assert(ok); + int result = tcg_out_pool_finalize(s); + tcg_debug_assert(result == 0); } #endif @@ -4005,8 +4005,9 @@ int tcg_gen_code(TCGContext *s, TranslationBlock *tb) } #endif #ifdef TCG_TARGET_NEED_POOL_LABELS - if (!tcg_out_pool_finalize(s)) { - return -1; + i = tcg_out_pool_finalize(s); + if (i < 0) { + return i; } #endif if (!tcg_resolve_relocs(s)) { |