Date: Thu, 11 May 2000 09:33:37 -0400 (EDT) Message-Id: <200005111333.JAA13195@indy.delorie.com> From: Eli Zaretskii To: muller AT cerbere DOT u-strasbg DOT fr CC: djgpp-workers AT delorie DOT com In-reply-to: <200005021646.SAA07021@cerbere.u-strasbg.fr> (message from Pierre Muller on Tue, 02 May 2000 18:31:45 +0200) Subject: Re: interrupt 0x75 limitation in Win95 ? References: <200005020750 DOT JAA29985 AT cerbere DOT u-strasbg DOT fr> <200005021646 DOT SAA07021 AT cerbere DOT u-strasbg DOT fr> 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 > Date: Tue, 02 May 2000 18:31:45 +0200 > From: Pierre Muller > > For instance if you take GNU make Version 3.77 > and run from it a program that raises such an exception > then its make itself that crashes with a SIGFPE !! FYI: I've just sent a patch to the GNU Make maintainer that prevents Make from crashing on Windows when a child program triggers an FP exception. The patch is reproduced below, for those who would like to patch their binaries. Make 3.79.1 is entering a pretest, so I expect this feature to be in the official release very soon. 2000-05-10 Eli Zaretskii * main.c (main) [__MSDOS__]: Add SIGFPE to signals we block when running child programs, to prevent Make from dying on Windows 9X when the child triggers an FP exception. --- main.c~1 Fri Apr 7 20:17:28 2000 +++ main.c Wed May 10 19:47:28 2000 @@ -853,6 +853,13 @@ int main (int argc, char ** argv) FATAL_SIG (SIGINT); FATAL_SIG (SIGTERM); +#ifdef __MSDOS__ + /* Windows 9X delivers FP exceptions in child programs to their + parent! We don't want Make to die when a child divides by zero, + so we work around that lossage by catching SIGFPE. */ + FATAL_SIG (SIGFPE); +#endif + #ifdef SIGDANGER FATAL_SIG (SIGDANGER); #endif