0.8.16.2: TYPE-ERROR for ERROR
[sbcl.git] / src / code / ppc-vm.lisp
index 1024998..8788587 100644 (file)
   (declare (type (alien (* os-context-t)) context))
   (deref (context-register-addr context index)))
 
+(define-alien-routine ("os_context_lr_addr" context-lr-addr) (* unsigned-long)
+  (context (* os-context-t)))
+
+(defun context-lr (context)
+  (declare (type (alien (* os-context-t)) context))
+  (int-sap (deref (context-lr-addr context))))
+
 (defun %set-context-register (context index new)
 (declare (type (alien (* os-context-t)) context))
 (setf (deref (context-register-addr context index))
 
 ;;; Given a signal context, return the floating point modes word in
 ;;; the same format as returned by FLOATING-POINT-MODES.
+;;;
+;;; FIXME: surely this must be accessible somewhere under Darwin?
+#!-darwin
 (define-alien-routine ("os_context_fp_control" context-floating-point-modes)
     (sb!alien:unsigned 32)
   (context (* os-context-t)))