[Peter Holzer <hp@quasi.vmars.tuwien.ac.at> writes:]
>How about using a soft-float library? If our shared-lib plans ever take
>off, this library could use 387 instructions on machines which have one,
>and 386 instructions on other machines. Sure this is not as fast as
>using inline code, but I think it is a fair compromise if you want to
>distribute binaries (If you really want speed, you probably want to
>recompile with -mi486 or something, anyway).
My reaction is that we may as well use the default in-line code, with
the reasoning being that if you're running FP on a non-FP-equipped machine,
you're really not getting performance anyway.
>GCC 1.37 for Minix used the SIGFPE trampoline and it was really slow (of
>course signal delivery is somewhat complicated in Minix. Don't know
>about VSTa in this respect).
My plan is to use the Plan9-style of signal handling. Because this
specifies that signal handling completion happen with an explicit
call (as opposed to UNIX, where you do a subroutine return), there is
no need to do that trampoline hackery.
>Hmm, different idea: Can the 387-missing interrupt be redirected to the
>offending process without kernel interaction? This would make 387
>emulation very easy and fast. Best of both worlds.
Since the FPU-not-present exception gets its own vector, it really
shouldn't be too hard to point this back into the ring3 code somewhere.
Adding this would be a nice part of the overall 387 support work.
Andy
Received on Mon Oct 18 09:35:57 1993
This archive was generated by hypermail 2.1.8 : Wed Sep 21 2005 - 19:37:12 PDT