[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] tcg: Increase the static number of temporaries
From: |
Laurent Vivier |
Subject: |
Re: [PATCH] tcg: Increase the static number of temporaries |
Date: |
Sat, 23 Jan 2021 17:19:16 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 |
Le 21/01/2021 à 03:54, Richard Henderson a écrit :
> This isn't a total or permanent solution to the problem of running
> out of temporaries, but it puts off the issue for a bit.
>
> Make the assert in tcg_temp_alloc unconditional. If we do run out
> of temps, this can fail much later as a weird SIGSEGV, due to the
> buffer overrun of the temp array.
>
> Remove the inlines from tcg_temp_alloc and tcg_global_alloc.
>
> Buglink: https://bugs.launchpad.net/bugs/1912065
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>
> There are more bugs that need fixing in order to actually make
> the dynamic allocation scheme work. Rather than keep this bug
> pending longer, hack around it and make the SEGV an ABRT.
>
> r~
>
> ---
> include/tcg/tcg.h | 2 +-
> tcg/tcg.c | 6 +++---
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/include/tcg/tcg.h b/include/tcg/tcg.h
> index c5a9d65d5f..0187de1352 100644
> --- a/include/tcg/tcg.h
> +++ b/include/tcg/tcg.h
> @@ -275,7 +275,7 @@ typedef struct TCGPool {
>
> #define TCG_POOL_CHUNK_SIZE 32768
>
> -#define TCG_MAX_TEMPS 512
> +#define TCG_MAX_TEMPS 1024
This seems not enough, I have:
ERROR:.../tcg/tcg.c:1210:tcg_temp_alloc: assertion failed: (n < TCG_MAX_TEMPS)
Bail out! ERROR:.../tcg/tcg.c:1210:tcg_temp_alloc: assertion failed: (n <
TCG_MAX_TEMPS)
With my branch m68k-virt (68040 processor with virtio-mmio devices) booting
debian sid.
Thanks,
Laurent