X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fx86-vm.lisp;h=21c2f47b43d0b0a1bd383187c9b0b4a405f8152b;hb=11b8fcf55c80cb2686fb49663fa4d96f9b152ce4;hp=2d683355b631f979ddd1f76d20d9ec4a68e9b1ce;hpb=bc46c8bcdd6ac8918df8ea9e9db49808e4924fcf;p=sbcl.git diff --git a/src/code/x86-vm.lisp b/src/code/x86-vm.lisp index 2d68335..21c2f47 100644 --- a/src/code/x86-vm.lisp +++ b/src/code/x86-vm.lisp @@ -235,6 +235,7 @@ ;;; Given a signal context, return the floating point modes word in ;;; the same format as returned by FLOATING-POINT-MODES. +#!-linux (defun context-floating-point-modes (context) ;; FIXME: As of sbcl-0.6.7 and the big rewrite of signal handling for ;; POSIXness and (at the Lisp level) opaque signal contexts, @@ -255,6 +256,11 @@ (logior (ash (logand sw #xffff) 16) (logxor (logand cw #xffff) #x3f))) 0) + +#!+linux +(define-alien-routine ("os_context_fp_control" context-floating-point-modes) + (sb!alien:unsigned 32) + (context (* os-context-t))) ;;;; INTERNAL-ERROR-ARGS