Mail Archives: djgpp-workers/1997/02/03/10:12:53
On Sun, 2 Feb 1997, Douglas B. Rupp wrote:
> THe problem goes away if this line is removed from the command:
> > "CC=`case 'gcc' in stage*) echo 'gcc' | sed -e 's|stage|../stage|g';; *)
> > echo 'gcc';; esac`"
>
> My guess is that the expansion of this inline expression in a call to
> system()/dosexec() is overflowing some internal buffer.
Please try to back up your guess by debugger output. What internal buffer
is overflowing? I don't think this is the reason, because if $SHELL
points to a Unixy shell, `system' and `dosexec' don't expand the command
line at all, they just write it to a temporary file (as you described) and
call the shell immediately with the name of that file (the expansion only
happens for COMMAND.COM and 4DOS/NDOS).
My guess is that something is wrong in the ported `bash', not in `system'
on the Make's side. Did you try to see if the traceback makes sense in
the context of the shell? Please post the traceback here.
Another possibility is that the Makefile invokes recursive Make's and
your DPMI host (which one is that, btw?) blows up, or eats up too much
conventional memory. Try to run Make on Windows or with CWSDPMI to see
if that is the problem.
If everything else fails, please try to construct a minimal Makefile that
causes Make to GP Fault, and post a zip file with the Makefile and
necessary source files so that others can try to reproduce and help debug
it (I can promise that at least I will try, since both Make 3.75 and the
last version of `system'/`dosexec' are my fault).
- Raw text -