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: <10112110836.AA20180@clio.rice.edu> Subject: Re: Alternate exit code to set psp To: eliz AT is DOT elta DOT co DOT il (Eli Zaretskii) Date: Tue, 11 Dec 2001 02:36:40 -0600 (CST) Cc: djgpp-workers AT delorie DOT com, acottrel AT ihug DOT com DOT au (Andrew Cottrell) In-Reply-To: from "Eli Zaretskii" at Dec 11, 2001 10:22:57 AM X-Mailer: ELM [version 2.5 PL2] Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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 Precedence: bulk > > If you are feeling frisky in dpmiexcp.c (in src/libc/go32) > > line 629, change assembly lines so it looks like: > > > > asm volatile("movb $0x51, %%ah > > int $0x21 > > movb $0x50, %%ah > > int $0x21 > > > > (so we don't pass the psp any more, we do a getpsp call to decide > > what to set it to). > > Won't this do harm if the PSP you get is zeroed (by the same NTVDM bug we > are trying to fix)? 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.