Article View: comp.sys.ibm.pc.misc
Article #164Compiler Options to check coprocessor status?
From: Harvey Brydon (918)250-4312
Date: Tue, 03 Nov 1992 14:15
Date: Tue, 03 Nov 1992 14:15
36 lines
2720 bytes
2720 bytes
I work in an engineering center that is testing hardware and software for
recommendation to our field sites. We test both PC and Mac platforms for use
in the field. A couple of our commercial applications were written for the
PC, and we use a 286/287 emulator (SoftAT) on the Mac to run them.
One of these applications does not run correctly on the Mac. If the
pseudo-287 is disabled, the program takes forever to run, but provides the
correct results. If the pseudo-287 is enabled, the application either hangs in
an infinite compute loop, provides incorrect results or bombs out with an
"M6111: Math, floating point overflow" error. Running the code with exactly
the same data can give different results each time.
I contacted Insignia Solutions, the SoftAT vendor, and the immediate response
(I didn't get to finish my first sentence!) was that this was a common problem
with some software applications, completely caused by sloppy programming or
incorrect compiler options. Suspected mechanism: code on the 286 makes a
computation request of the 287, and grabs the 'answer' from the output
location without checking with the 287 to see if it completed the task yet.
What supposedly happens is the pseudo-287 is slower than a real 287 and the
286 gets premature data. Insignia says that the problem occurs periodically
with a 'real' 286/287, but shows up much more on the emulated processors.
I contacted the application vendor (Dwight's) and they are not interested in
the problem. They wrote the code for a 'real' 286/287 and do not consider the
emulated environment on the Mac to be worth looking into. They have not seen
the problem on the 'real' 286/287. For this application, they use Microsoft C
6.0, Microsoft Fortran 5.1 and Microsoft Assembler 5.1. The suspected math
routines would be in some of the Fortran code, but anything is possible.
Is anybody familiar with this problem and how to fix it? Compiler options?
code changes?
_______________________________________________________________
Harvey Brydon | Internet: brydon@dsn.SINet.slb.com
Dowell Schlumberger | P.O.T.S.: (918)250-4312
Never moon a werewolf.
Technical Details
Message-ID:
<1992Nov3.141534.12166@slcs.slb.com>Path:
arc1-ca.pugleaf.net!sparky!uunet!pmafire!news.dell.com!natinst.com!cs.utexas.edu!ut-emx!slcs.slb.com!BRYDON@128.58.42.3Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!pmafire!news.dell.com!natinst.com!cs.utexas.edu!ut-emx!slcs.slb.com!BRYDON@128.58.42.3 From: brydon@asl.slb.com (Harvey Brydon (918)250-4312) Newsgroups: comp.sys.ibm.pc.misc Subject: Compiler Options to check coprocessor status? Message-ID: <1992Nov3.141534.12166@slcs.slb.com> Date: 3 Nov 92 14:15:34 GMT Sender: news@slcs.slb.com (News Administrator) Reply-To: brydon@dsn.SINet.slb.com Organization: Schlumberger/Anadrill Sugar Land, TX Lines: 36 Nntp-Posting-Host: 129.87.186.2