Mail Archives: djgpp/1996/12/23/12:45:47
On 23 Dec 1996, Jerzy Witkowski wrote:
> I'm using bash for DOS as my standard shell (no COMMAND.COM
> anymore! :-). However I have some problems with executing DJGPP
> 2.00 compiled programs.
Is it indeed v2.0 or v2.01? If it's v2.0, please upgrade to v2.01.
Since `bash' was compiled with v2.01, you will see incompatibilities
between these two versions in code that spawns child programs and the
startup code (in the child).
> First, normal DJGPP compilation (`gcc prog.c -o prog' or simply
> `make prog') leaves two executable files: `prog' and `prog.exe'.
> Then if I type `prog' the following will appear:
>
> go32/v1: cannot find v1's go32.exe
This doesn't happen for me. If you indeed are using v2.0, then I guess
what happens here is this: `bash' first finds the unstabbed COFF image
named `prog'. To run it, it calls go32-v2 (since it doesn't know how to
load unstabbed COFF). But go32-v2 from v2.0 is buggy and erroneously
thinks that `prog' is a v1 COFF image, so it looks for v1's go32.exe to
help it out (which you probably don't have). This problem will go away
when you upgrade to v2.01, where go32-v2 got a big overhaul.
> Second, the computer hangs sometimes. This usually happens when I
> execute `go32-v2 prog ; go32-v2' two or more times.
Confirmed. This indeed happens for me also when I run COFF image with
go32-v2. Since this never happens from COMMAND.COM, I guess it's some
problem with go32-v2 not cleaning up correctly after the child exits. In
one of my tests I got this message (from CWSDPMI, I guess):
Invalid TSS in RMCB at eip=3364, flags=3002
eax=000a0001 ebx=000020d4 ecx=00000000 edx=00000020 esi=00b088a edi=000030d8
ebp=000a7c58 esp=00003024 cs=e7 ds=3b es=33 fs=33 gs=eb ss=33 error=00e4
Charles?
Btw, the crashes never happened under QDPMI, although that doesn't mean
it's CWSDPMI's fault.
> Third problem shows when I try to execute DOS `.bat' file,
> especially the one which add new variables to DOS environment
> (`out of environment space' message). I tried to fix it with
> `export COMSPEC="c:\command.com /e:2048"', but it doesn't work.
For the environment problem, you will need to call a batch file
indirectly through another batch file which calls COMMAND.COM with /e:
switch. For any other problems in running batch files, please post the
batch file and the error message(s) you get when trying to run it.
> Any suggestions?
Upgrade to v2.01 and get the latest bash version.
- Raw text -