www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/12/23/12:45:47

Date: Mon, 23 Dec 1996 19:23:04 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: Jerzy Witkowski <Jerzy DOT Witkowski AT ii DOT uni DOT wroc DOT pl>
cc: djgpp AT delorie DOT com, Charles Sandmann <sandmann AT clio DOT rice DOT edu>
Subject: Re: Problem with DJGPP programs in bash
In-Reply-To: <x6enghegrw.fsf@dadzbog.ii.uni.wroc.pl>
Message-ID: <Pine.SUN.3.91.961223163401.2480A-100000@is>
MIME-Version: 1.0

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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019