Subject: Re: Software FPU To: morphine AT whatever DOT cs DOT jhu DOT edu (Michael Phelps) Date: Tue, 12 Jul 1994 18:47:46 -0600 (CDT) Cc: djgpp AT sun DOT soe DOT clarkson DOT edu From: mcastle AT umr DOT edu (Mike Castle) Amazingly enough Michael Phelps said: > > I want to run one of my programs on a 486SX, and I don't want to have > an emulator installed. I saw in the gcc manual under "i386 options" that there > was a compiling command, -msoft-float, which it seemed would help prevent the > need for a coprocessor. I tried it, and all I got was a lot of "undefined > reference to ..." errors. Is there any way to make it work without a > coprocessor or emulator? Thanx. This option requires that special emulator libraries be present and linked in. Per my copy of the manual: Generate output containing library calls for floating point. *Warning:* the requisite libraries are not part of GNU CC. Normally the facilities of the machine's usual C compiler are used, but this can't be done directly in cross-compilation. You must make your own arrangements to privde suitable library functions for cross-compilation. Since there is no "usual C compiler" for DOS, there are no floating point libraries to use. I suppose you could write your own, however I doubt they would be any more effecient than the emulator. Also, code written to use the emulator will run full speed on a machine with an NPX, while code written to use the mathlibs will always run slow (unless the mathlibs are extremely smart, and even then they have the over head of checking the presence of the NPX). Your best best is to simply use the emulator provided with djgpp. Since it's only loaded at run time anyway, the only installation is putting it on your harddrive, and setting an envrionment variable. mrc -- Mike Castle .-=NEXUS=-. Life is like a clock: You can work constantly mcastle AT cs DOT umr DOT edu and be right all the time, or not work at all mcastle AT umr DOT edu and be right at least twice a day. -- mrc We are all of us living in the shadow of Manhattan. -- Watchmen