summaryrefslogtreecommitdiffstats
path: root/lib/libc/sparc64/sys/__sparc_utrap.c
diff options
context:
space:
mode:
authortmm <tmm@FreeBSD.org>2002-02-23 21:37:18 +0000
committertmm <tmm@FreeBSD.org>2002-02-23 21:37:18 +0000
commitc0c8cd1eeb0ccc26410fb3536db0d3d58824d398 (patch)
tree4313240dbc96e12af030fa6c4b7fe25fce3f36e9 /lib/libc/sparc64/sys/__sparc_utrap.c
parentc1ec96c2c136d84837e335789e3e768b7731fe5e (diff)
downloadFreeBSD-src-c0c8cd1eeb0ccc26410fb3536db0d3d58824d398.zip
FreeBSD-src-c0c8cd1eeb0ccc26410fb3536db0d3d58824d398.tar.gz
Add userland floating point emulator code for sparc64. This is a port
of the (never committed) in-kernel version (with some optimizations and cleanups), which in turn was ported from NetBSD.
Diffstat (limited to 'lib/libc/sparc64/sys/__sparc_utrap.c')
-rw-r--r--lib/libc/sparc64/sys/__sparc_utrap.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/libc/sparc64/sys/__sparc_utrap.c b/lib/libc/sparc64/sys/__sparc_utrap.c
index d59436f..f56c019 100644
--- a/lib/libc/sparc64/sys/__sparc_utrap.c
+++ b/lib/libc/sparc64/sys/__sparc_utrap.c
@@ -81,6 +81,9 @@ __sparc_utrap(struct utrapframe *uf)
switch (uf->uf_type) {
case UT_FP_EXCEPTION_IEEE_754:
case UT_FP_EXCEPTION_OTHER:
+ __fpu_exception(uf);
+ UF_DONE(uf);
+ return;
case UT_ILLEGAL_INSTRUCTION:
case UT_MEM_ADDRESS_NOT_ALIGNED:
break;
OpenPOWER on IntegriCloud