X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fppc-darwin-os.h;h=119dcbdde449e0037dc6ddcdb9428544e8e6eb29;hb=HEAD;hp=1ff373237bf822860e6a22b28363252f2d5dcc97;hpb=343ef95fda9da33830d5ab6aabe5368c898f0918;p=sbcl.git diff --git a/src/runtime/ppc-darwin-os.h b/src/runtime/ppc-darwin-os.h index 1ff3732..119dcbd 100644 --- a/src/runtime/ppc-darwin-os.h +++ b/src/runtime/ppc-darwin-os.h @@ -1,9 +1,30 @@ #ifndef _PPC_DARWIN_OS_H #define _PPC_DARWIN_OS_H -static inline os_context_t *arch_os_get_context(void **void_context) { +#include "darwin-os.h" + +typedef unsigned int os_context_register_t; + +static inline os_context_t *arch_os_get_context(void **void_context) +{ return (os_context_t *) *void_context; } +/* On OS X 10.5, the field names for the thread state have changed and + * now are prepended with __. Use some #define hackery to deal with + * this. + */ +#if __DARWIN_UNIX03 + +#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 /* __DARWIN_UNIX03 */ -#define DARWIN_FIX_CONTEXT(c) (c->uc_mcontext->ss.xer)^=0x80; #endif /* _PPC_DARWIN_OS_H */