X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fppc-darwin-os.h;h=6d23ee2166eedacb6bba9765e1da3c8e325686a3;hb=c2ac5ba3964165ee2d21ccd4c6bf8bdc48e1a165;hp=adbbdadabbd54ee36fd9a2de7d1b2d8b8adca45e;hpb=1bc8fbfb6cdc0e2d39ec00402c9430b9e364f87b;p=sbcl.git diff --git a/src/runtime/ppc-darwin-os.h b/src/runtime/ppc-darwin-os.h index adbbdad..6d23ee2 100644 --- a/src/runtime/ppc-darwin-os.h +++ b/src/runtime/ppc-darwin-os.h @@ -3,9 +3,27 @@ typedef unsigned int os_context_register_t; -static inline os_context_t *arch_os_get_context(void **void_context) { +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 */