www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/10/10/09:33:45

Date: Sun, 10 Oct 1999 12:12:03 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: Leonid Pauzner <leonid AT pauzner DOT mccme DOT ru>
cc: djgpp AT delorie DOT com
Subject: Re: DJGPP 2.02: redir.exe on FPU-less machine...
In-Reply-To: <2.07b4.TRE1.FJ8E10@pauzner.mccme.ru>
Message-ID: <Pine.SUN.3.91.991010121054.19618B-100000@is>
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Thu, 7 Oct 1999, Leonid Pauzner wrote:

> >> crash.log always ends with:
> >>         FPU unavailable at eip=4f19; flags=3246
> >>         eax=00000000 ebx=00000007 ecx=37fcb98d edx=37fcb98d
> >>         esi=00098f3b edi=00001eca ebp=00098920 esp=000988e8 cs=a7
> >>         ds=af es=af fs=8f gs=bf ss=af error=0006
> 
> > This message comes from CWSDPMI, not from Make or the emulator.  I have
> csdpmi4b CWSDPMI binary distribution (release 4)

This turns out to be a bug in redir.exe, introduced in v2.02.  That
version resets the FPU after the child program exits (because the
child could crash due to SIGFPE and leave the FPU in shambles, which
would crash redir on Windows), but it does so *before* reverting the
exception handlers to its correct setup.  (The exception handlers are
toggled to their default state before running the child, so that an
exception in the child won't crash redir.exe.)  So, when the
instruction that resets the FPU is issued, the no-FPU exception it
triggers doesn't get passed to the emulator, and the rest, as they
say, is history...

I send you (in a separate mail) a patched binary of redir.exe; please
tell me if it solves the problem.

- Raw text -


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