Hi,
I reduced my problem to the following short Makefile
-----------------snip---
define A
12345: $(1:.idl=.hh) $(1:.idl=S.h) $(1:.idl=C.h) $(1:.idl=SK.cc)
$(1:.idl=DynSK.cc)
endef
$(eval $(call A,01234567890123456789012345678901.idl))
---snap-----------------
which, when evaluated (e.g. "make -r") with 3.80 results in a
*** virtual memory exhausted.
I traced the problem into the sources, which I saw the very 1st
time, and what I found is:
A call to variable_buffer_output results in a xrealloc call when
appending the final '\0' while doing the eval. It seems as if the
new memory position of the variable_buffer is not correctly passed
back then as the next call to variable_buffer_output then works on
an illegal pointer.
This is just a guess and I have no time to go deeper into those sources.
Maybe it is even a wild-overwrite.
This problem occurs at least on Linux and on Solaris so
it does not seem to depend on a certains OS.
cheers
Jörn