delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/09/01/10:01:11

Date: Thu, 1 Sep 94 15:06:15 +0200
From: gwj AT J-23 DOT p DOT lodz DOT pl (Grzegorz Jablonski)
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: 112 bugs

Hello all DJGPPers


I downloaded yesterday version 1.12. I've found some bugs in it.


1. Sometimes go32 generates error message about too many arguments.
This is caused by comparison of uninitialized variable argc to 10000
in module ^C. This is a fix.
 
1091a1092,1093
>   /* GWJ change 94-08-31 */
>   for (argc=0; argv[argc]; argc++);

2. Compiling anything in C++ caused (as I thought) system hang.
So happens only in XMS mode. VCPI works fine.
This is due to buggy swapping out routine in paging.c. When our 
program allocates little enough memory, it is not swapped out.
It has the following consequences:
i) All the XMS is allocated. Child program is executed only
   in released base memory. Accesing XMS through paging and
   SMARTDRIVE is very slow method. After identyfication of the 
   problem I used topline info and found out, that program is
   swapping like crazy. I lost my patience after 1/2 h and turned it off.
   So, if we want to keep something on exec, we should free some XMS
   after swapping out or relocation the pages in released area.
ii)If we have little XMS in our computer, go32 uses base memory for
   execution of the program. We free all allocated base memory, but
   we have some data on pages in this area. (I am not quite sure of it
   - tell me if I am wrong). So after return from the child program,
   we can have some data or code corrupt.
So, better use paging.c from 1.11m5 or set keep_on_exec to 1 and do
not change it.
3. The example of obiective C doesn't work. I don't know and don't 
   use this language, so I don't care.

                            Grzegorz W. Jablonski
                            gwj AT j-23 DOT p DOT lodz DOT pl

- Raw text -


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