qemu-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]