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.hender...@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