accel/tcg: Assert that tb->size != 0 after translation
authorIlya Leoshkevich <iii@linux.ibm.com>
Fri, 16 Apr 2021 15:49:39 +0000 (17:49 +0200)
committerCornelia Huck <cohuck@redhat.com>
Thu, 20 May 2021 12:19:30 +0000 (14:19 +0200)
If arch-specific code generates a translation block of size 0,
tb_gen_code() may generate a spurious exception. Add an assertion in
order to catch such situations early.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Message-Id: <20210416154939.32404-5-iii@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
accel/tcg/translate-all.c

index fbf8fc630b2765c4d22898d9dd90193a8f11b9f9..640ff6e3e706f7e7df18fcb02f747ef27960d74a 100644 (file)
@@ -1912,6 +1912,7 @@ TranslationBlock *tb_gen_code(CPUState *cpu,
 
     tcg_ctx->cpu = env_cpu(env);
     gen_intermediate_code(cpu, tb, max_insns);
+    assert(tb->size != 0);
     tcg_ctx->cpu = NULL;
     max_insns = tb->icount;