[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: recursion limit of 1024 exceeded
From: |
Dagobert Michelsen |
Subject: |
Re: recursion limit of 1024 exceeded |
Date: |
Sat, 12 Dec 2020 18:21:55 +0100 |
Hi Bruno,
Am 12.12.2020 um 17:25 schrieb Bruno Haible <bruno@clisp.org>:
>>>> gm4:configure.ac:4574: recursion limit of 1024 exceeded, use -L<N> to
>>>> change it
>
> The maximum recursion limit of m4 depends how it was built. Mine has
>
> $ m4 --help|grep limit
> -L, --nesting-limit=NUMBER change nesting limit, 0 for unlimited [0]
>
> Yours surely has
>
> $ m4 --help|grep limit
> -L, --nesting-limit=NUMBER change nesting limit, 0 for unlimited [1024]
Nope, same as yours:
dam@experimental10x [global]:/home/dam > m4 --help | grep limit
-L, --nesting-limit=NUMBER change nesting limit, 0 for unlimited [0]
> This means, if m4 can react on stack overflow without knowing a priori how
> many
> recursive macro invocations it can handle — this is the case when libsigsegv
> is
> installed or the simple heuristic in c-stack.c works —, it does so. Only in
> the
> other case, it uses the fixed-size nesting limit.
Does this mean that m4 should also link against libsigsegv? This is not the
case:
dam@experimental10x [global]:/home/dam > ldd /opt/csw/gnu/m4
libc.so.1 => /lib/libc.so.1
libm.so.2 => /lib/libm.so.2
> What I don't understand, is:
> - why on your system the c-stack.c heuristic, specifically tailored for
> Solaris, did not work,
> - why, when (on a glibc system) I use a limit even as low as -L 1,
> 'aclocal -I glm4' and 'autoconf' run fine in the generated testdir.
I see. Is there anything I can do to further drilldown the issue?
>>> m4 --version
>> m4 (GNU M4) 1.4.18
>
> By the way, autom4te does not look up m4 in $PATH; it uses the M4 environment
> variable or a program in a fixed location. Look into autom4te to find out
> which
> m4 it actually uses.
It is my OpenCSW m4 1.4.18 as reported:
my $m4 = $ENV{"M4"} || '/opt/csw/bin/gm4‘;
Best regards
— Dago
--
"You don't become great by trying to be great, you become great by wanting to
do something,
and then doing it so hard that you become great in the process." - xkcd #896