Mail Archives: djgpp/1997/10/30/04:42:16
On Wed, 29 Oct 1997, Molnar Laszlo wrote:
> You are lucky. I tried to build perl on win95 twice. There was no
> problem at first, but I got a GPF next time. At that point I had no
> idea, because everything in my environment were the same.
One possible cause might be the go32-v2 program. Are you using the
stock version from DJGPP v2.01? If so, you should know that it has a
nasty bug that raises its ugly head when nested COFF images are run as
children of go32-v2. The bug is that go32-v2 doesn't unhook hardware
interrupts that its startup code hooks. (This needs special treatment
in go32-v2, because once it loads and runs the COFF image, control
never returns to the go32-v2 code before exiting.)
This bug might be relevant to complex shell scripts, such as the one
which is run by Configure in Perl distribution, because Bash will run
the raw COFF image when both `foo' and `foo.exe' are present (which,
btw, I think is a bug in Bash). If the script runs nested programs
which were just built (like the small test programs which Configure
uses to probe the target system), and for which both the .exe and raw
COFF image are there, you get bitten by the bug.
The easiest way to be sure that this is the bug you see is to press
the Ctrl or Shift key several times while the script runs: these keys
have no effect except generating a hardware keyboard interrupt. The
bug that I described should consistently cause crashes when you press
these keys, but might not cause any crashes if you leave the keyboard
alone while the script runs.
My go32-v2.exe is, of course, patched, so it might be my ``luck'' is
due to this. I have posted the source-level patch to the news group
about 6 months ago, when I discovered it; you can search for it in the
archives.
- Raw text -