delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2001/12/11/15:44:24

X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-workers-bounces using -f
From: sandmann AT clio DOT rice DOT edu (Charles Sandmann)
Message-Id: <10112112040.AA23663@clio.rice.edu>
Subject: Re: Alternate exit code to set psp
To: eliz AT is DOT elta DOT co DOT il
Date: Tue, 11 Dec 2001 14:40:17 -0600 (CST)
Cc: djgpp-workers AT delorie DOT com, acottrel AT ihug DOT com DOT au
In-Reply-To: <8011-Tue11Dec2001201343+0200-eliz@is.elta.co.il> from "Eli Zaretskii" at Dec 11, 2001 08:13:43 PM
X-Mailer: ELM [version 2.5 PL2]
Mime-Version: 1.0
Reply-To: djgpp-workers AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

> > The PSP returned by DOSX (DPMI) is still correct, so when we do the set
> > it cleans up the internal bogosity in NTVDM.  
> > 
> > It appears to work (at least most of the time ...).  My patched gcc 2.8.1
> > driver which uses this code would crash each 1-3 compiles without it, but
> > only crashed once with it.  I was going to see if that crash was 
> > reproducible.  The old code might be more reliable, but I don't see
> > how to have a child program know if it's run from a go32-v2.
> 
> Well, I'm paranoiac nonetheless, primarily because this code wasn't
> tested except now, while the old code was tested by several users on
> several different systems.

Oh, I'm worried too.  But just using the stubinfo doesn't work since
v2load puts a bogus value in.  Not doing it at all under v2load can 
cause crashes, so I think we need to do this at least in some cases.

> So I'd prefer a solution which just fixes the old code, so that when
> it runs under go32-v2, it doesn't call PM Int 21h at all.

We can't just call the old code without knowing when the PSP is bogus.
We also can't just do nothing if the PSP is bogus.

maybe something like:
  if stubinfo.basename = v2load
     setpsp = ah=51, int 21h
  else
     setpsp = subinfo.psp

This code also needs to go into CVS by the way (go32-v2 is still broke).

- Raw text -


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