Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: [ANALYSED] kernel object compilation failure unnoticed ?



On Sat, Mar 06, 2010 at 09:40:47PM +0000, Christos Zoulas wrote:
 >> The real complication is that in make -j mode, our make doesn't do
 >> that but instead feeds stuff in blobs to the shell's stdin, so the
 >> effects of operations like cd persist longer than one expects.
 >> 
 >> This behavior is definitely questionable...
 > 
 > That is why we have .SINGLESHELL or -B. We've lived with this behavior
 > for many years, and I don't see a particular good reason to change it
 > as there are many workarounds. I think we should just document better
 > that by default our make tries to pass all commands in a target to
 > a single shell.

Well... I think either we should embrace it and make it the default,
or enable it based on something other than using -j, as it has nothing
to do with parallel builds.

The original logic was that if you were using make -j you must have
written a makefile for pmake, but that was never particularly sound
reasoning and came unstuck completely when gmake got -j support ages
ago.

What I don't see is what it does so that a single failing line will
cause the whole command to fail. It passes the whole block to the
shell and as far as I can tell with ktrace is not setting -e, but it
works...

-- 
David A. Holland
dholland%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index