Index: /branches/ia32/level-1/x86-trap-support.lisp
===================================================================
--- /branches/ia32/level-1/x86-trap-support.lisp	(revision 7811)
+++ /branches/ia32/level-1/x86-trap-support.lisp	(revision 7812)
@@ -120,4 +120,44 @@
       14				;r14
       15                                ;r15
+      )))
+
+#+darwinx8632-target
+(progn
+  (eval-when (:compile-toplevel :execute)
+    (def-foreign-type nil
+        (:struct :portable_mcontext
+                 (:es :x86_exception_state32_t)
+                 (:ss :x86_thread_state32_t)
+                 (:fs :x86_float_state32_t)))
+    (def-foreign-type nil
+        (:struct :portable_uc_stack
+                 (:ss_sp (:* :void))
+                 (:ss_size (:unsigned 32))
+                 (:ss_flags  (:signed 32))))
+    (def-foreign-type nil
+        (:struct :portable_ucontext
+                 (:onstack (:signed 32))
+                 (:sigmask (:unsigned 32))
+                 (:stack (:struct :portable_uc_stack))
+                 (:link :address)
+                 (:uc_mcsize (:unsigned 32))
+                 (:uc_mcontext (:* (:struct :portable_mcontext))))))
+
+  (defconstant gp-regs-offset 0)
+
+  (defmacro xp-gp-regs (xp)
+    `(pref (pref ,xp :portable_ucontext.uc_mcontext) :portable_mcontext.ss))
+
+  (defconstant flags-register-offset 9)
+  (defconstant eip-register-offset 10)
+  (defparameter *encoded-gpr-to-indexed-gpr*
+    #(0					;eax
+      2					;ecx
+      3					;edx
+      1					;ebx
+      7					;esp
+      6					;ebp
+      5					;esi
+      4					;edi
       )))
 
