The net/munin port triggers a bug in gmake. sthen@ has marked munin
as BROKEN on i386 because during the build gmake regularly segfaults,
but that's just dumb luck.
Here is a much simpler GNUmakefile that reproduces the problem:
-------------------->
DUMMY := $(shell echo "===> I'm being parsed!" >&2)
MAKEFILES := GNUmakefile
all:
$(MAKE) sub-all
sub-all:
<--------------------
The output is something like this:
===> I'm being parsed!
gmake sub-all
gmake[1]: Entering directory '/home/naddy'
===> I'm being parsed!
===> I'm being parsed!
GNUmakefile:6: warning: overriding recipe for target 'all'
<DF><DF><DF>...:6: warning: ignoring old recipe for target 'all'
gmake[1]: Nothing to be done for 'sub-all'.
gmake[1]: Leaving directory '/home/naddy'
The first warning is prefixed by the file name. The second warning
is prefixed by garbage. Sometimes you get a segfault there.
MAKEFILES is a special variable. The files listed there are
included by each gmake invocation. The bug is triggered by a
recursive call to gmake with MAKEFILES set to the default makefile,
causing it to be read twice.
The fact that the garbage starts with a sequence of 0xdf bytes
suggests a use-after-free bug, but I haven't managed to track it
down yet.
--
Christian "naddy" Weisgerber [email protected]