[cmucl-commit] CMUCL commit: cross-sol-x86-branch src/code (float-trap.lisp)
Raymond Toy
rtoy at common-lisp.net
Mon Dec 20 23:08:45 CET 2010
Date: Monday, December 20, 2010 @ 17:08:45
Author: rtoy
Path: /project/cmucl/cvsroot/src/code
Tag: cross-sol-x86-branch
Modified: float-trap.lisp
It looks like the sigcontext on solaris/x86 doesn't store the entire
x87 state, so just signal a general arithemtic error instead of an
error about a SIGFPE but no exceptions.
-----------------+
float-trap.lisp | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
Index: src/code/float-trap.lisp
diff -u src/code/float-trap.lisp:1.38 src/code/float-trap.lisp:1.38.8.1
--- src/code/float-trap.lisp:1.38 Tue Apr 20 13:57:44 2010
+++ src/code/float-trap.lisp Mon Dec 20 17:08:45 2010
@@ -5,7 +5,7 @@
;;; Carnegie Mellon University, and has been placed in the public domain.
;;;
(ext:file-comment
- "$Header: /project/cmucl/cvsroot/src/code/float-trap.lisp,v 1.38 2010-04-20 17:57:44 rtoy Rel $")
+ "$Header: /project/cmucl/cvsroot/src/code/float-trap.lisp,v 1.38.8.1 2010-12-20 22:08:45 rtoy Exp $")
;;;
;;; **********************************************************************
;;;
@@ -290,6 +290,13 @@
:operation fop
:operands operands))
(t
+ ;; It looks like the sigcontext on Solaris/x86 doesn't
+ ;; actually save the status word of the FPU. The
+ ;; operands also seem to be missing. Signal a general
+ ;; arithmetic error.
+ #+solaris
+ (error 'arithmetic-error :operands operands)
+ #-solaris
(error (intl:gettext "SIGFPE with no exceptions currently enabled?")))))))
;;; WITH-FLOAT-TRAPS-MASKED -- Public
More information about the cmucl-commit
mailing list