Date: Mon, 3 Feb 1997 17:17:43 +0200 (IST) From: Eli Zaretskii To: "Douglas B. Rupp" cc: djgpp-workers AT delorie DOT com Subject: Re: bash and make gnat1 (or cc1plus) In-Reply-To: <9702022100.AA22077@nile.gnat.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Sun, 2 Feb 1997, Douglas B. Rupp wrote: > After spending some time trying to debug this I discovered that make > builds a command line that looks like: Your description is correct and is exactly how Make, `system' and `dosexec' should work when $SHELL points to a Unixy shell (signaled by its name). > and then a sigsegv occurs in _dos_exec(). The interesting thing is that I > can arrange to save the temp file and execute a test program that > simply calls system ("/bin/sh.exe d:/djgpp/tmp/dj100000"), and it works > fine. But if I hack make to hardcode in this identical call (in job.c), it > blows up with the same sigsegv. So even system ("/bin/sh.exe d:/djgpp/tmp/dj100000") without passing the environ GP Faults in the same way, right? Or does passing environ make the difference? > One other thing, symify of the traceback from make gives complete > garbage. Also running make under gdb results in a completely bogus > traceback. I would advise against running Make under a debugger, because it behaves very differently in job.c where it calls subsidiary programs. I never had enough time to figure out why and to fix that, but it has something to do with the fact that Make's stdin and stdout are different under a debugger (since they are the same process as far as DOS is concerned).