diff options
author | cracauer <cracauer@FreeBSD.org> | 1999-07-25 13:16:09 +0000 |
---|---|---|
committer | cracauer <cracauer@FreeBSD.org> | 1999-07-25 13:16:09 +0000 |
commit | 36a7b829a04919c4ca14a6e4fe1bf3797c135a82 (patch) | |
tree | 8748ed38e03651976646062add8e82dac5601f42 /sys/amd64/include/ieeefp.h | |
parent | 1c17b991d77a8dc353f1efc23d293b80176cb18b (diff) | |
download | FreeBSD-src-36a7b829a04919c4ca14a6e4fe1bf3797c135a82.zip FreeBSD-src-36a7b829a04919c4ca14a6e4fe1bf3797c135a82.tar.gz |
On FPU exceptions, pass a useful error code (one of the FPE_...
macros) to the signal handler, for old-style BSD signal handlers as
the second (int) argument, for SA_SIGINFO signal handlers as
siginfo_t->si_code. This is source-compatible with Solaris, except
that we have no <siginfo.h> (which isn't even mentioned in POSIX
1003.1b).
An rather complete example program is at
http://www3.cons.org/cracauer/freebsd-signal.c
This will be added to the regression tests in src/.
This commit also adds code to disable the (hardware) FPU from
userconfig, so that you can use a software FP emulator on a machine
that has hardware floating point. See LINT.
Diffstat (limited to 'sys/amd64/include/ieeefp.h')
-rw-r--r-- | sys/amd64/include/ieeefp.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/amd64/include/ieeefp.h b/sys/amd64/include/ieeefp.h index f81ff31..ab4d529 100644 --- a/sys/amd64/include/ieeefp.h +++ b/sys/amd64/include/ieeefp.h @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * from: @(#) ieeefp.h 1.0 (Berkeley) 9/23/93 - * $Id$ + * $Id: ieeefp.h,v 1.5 1997/02/22 09:34:41 peter Exp $ */ /* @@ -72,6 +72,7 @@ typedef enum { #define FP_X_OFL 0x08 /* overflow */ #define FP_X_UFL 0x10 /* underflow */ #define FP_X_IMP 0x20 /* (im)precision */ +#define FP_X_STK 0x40 /* stack fault */ /* * FP registers |