Mail Archives: djgpp-workers/1997/02/03/10:22:51
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).
- Raw text -