tcg: Remove assert from set_jmp_reset_offset

Since 6e6c4efed9, there has been a more appropriate range check
done later at the end of tcg_gen_code.  There, a failing range
check results in a returned error code, which causes the TB to
be restarted at half the size.

Reported-by: Sai Pavan Boddu <saipava@xilinx.com>
Tested-by: Sai Pavan Boddu <sai.pavan.boddu@xilinx.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
master
Richard Henderson 2020-11-02 19:36:20 -08:00
parent 3c8c36c908
commit f14bed3fd4
1 changed files with 5 additions and 4 deletions

View File

@ -335,10 +335,11 @@ static bool tcg_resolve_relocs(TCGContext *s)
static void set_jmp_reset_offset(TCGContext *s, int which) static void set_jmp_reset_offset(TCGContext *s, int which)
{ {
size_t off = tcg_current_code_size(s); /*
s->tb_jmp_reset_offset[which] = off; * We will check for overflow at the end of the opcode loop in
/* Make sure that we didn't overflow the stored offset. */ * tcg_gen_code, where we bound tcg_current_code_size to UINT16_MAX.
assert(s->tb_jmp_reset_offset[which] == off); */
s->tb_jmp_reset_offset[which] = tcg_current_code_size(s);
} }
#include "tcg-target.c.inc" #include "tcg-target.c.inc"