1.0.12.15: PPC/Darwin fixes
[sbcl.git] / src / runtime / ppc-darwin-os.h
index 984e932..6d23ee2 100644 (file)
@@ -7,6 +7,23 @@ static inline os_context_t *arch_os_get_context(void **void_context)
 {
     return (os_context_t *) *void_context;
 }
+/* As of XCode 3.0, the field names for the thread state have changed
+ * and now are prepended with __. Use some #define hackery to deal
+ * with this. MAC_OS_X_VERSION_10_5 seems to be a good test to see if
+ * we need the new style field names.
+ */
+#if MAC_OS_X_VERSION_10_5
+
+#define PPC_DARWIN_REGIFY(foo) __ ## foo
+
+typedef ppc_thread_state_t ppc_ss_struct_t;
+
+#else
+
+#define PPC_DARWIN_REGIFY(foo) foo
+
+typedef ppc_saved_state_t ppc_ss_struct_t;
+
+#endif /* MAC_OS_X_VERSION_10_5 */
 
-#define DARWIN_FIX_CONTEXT(c) (c->uc_mcontext->ss.xer)^=0x80;
 #endif /* _PPC_DARWIN_OS_H */