Xref: utzoo comp.sys.ibm.pc.hardware:804 comp.unix.i386:7711 Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!cs.utexas.edu!uunet!mstan!amull From: amull@Morgan.COM (Andrew P. Mullhaupt) Newsgroups: comp.sys.ibm.pc.hardware,comp.unix.i386 Subject: Re: 80486 floating point problems with ISC UNIX 2.0.2 Summary: Step B5 chip the likely culprit Message-ID: <1455@s8.Morgan.COM> Date: 11 Aug 90 22:37:39 GMT References: <1990Aug3.174510.899@cti-software.nl> Organization: Morgan Stanley & Co. NY, NY Lines: 33 In article <1990Aug3.174510.899@cti-software.nl>, pim@cti-software.nl (Pim Zandbergen) writes: > Everything has run just fine (and a lot faster too), except > there's this real strange thing with floating point exceptions. > > Whenever a floating point exception should be generated, > whether exceptions are caught or not, > the process doing the floating point just hangs. > Every other process continues normally. > When I press , the process just dies gracefully. I bet you have the step B5 i486 chip. The thing has a bug where it doesn't properly handle floating point exceptions. Your board is probably not properly designed for the B5 chip, and you may be thankful for that. "Properly" designed boards for the step B5 include a hardware device which translates any floating point exception into a parity error so there is no chance that you will miss that it happened. If you run SCO UNIX, there is _no_ way you will miss a parity error. It panics the kernel, and swoons dead away. Now there is no way in UNIX to disable floating point exceptions without modifying source so you may very well be out of luck on code where you don't want to modify source. Intel made deals with vendors to swap the B5 chips with the B6 chips, but the swap program hasn't started yet as far as I can tell. (I'm waiting too...) In order to disable floating point exceptions, you should also properly set the sticky bits. There should be functions in your UNIX to do this. In SCO they are something like ieeefpsetsticky() etc. Later, Andrew Mullhaupt