--- configure.in.orig 2007-06-30 19:35:17.000000000 -0700 +++ configure.in 2007-07-03 20:55:52.000000000 -0700 @@ -1944,6 +1944,12 @@ #elif defined(__OpenBSD__) && defined(__x86_64__) #include #include +#elif defined(__DARWIN__) +#include +#include +#include +#endif + #endif #if !(defined(__OpenBSD__) && defined(__x86_64__)) #include @@ -1982,10 +1988,17 @@ regs[PT_FPSCR] = 0x80|0x40|0x10; /* VE, OE, ZE; not UE or XE */ #endif #elif defined(__DARWIN__) && defined(__i386__) +#if __DARWIN_UNIX03 + mcontext_t mc = uc->uc_mcontext; + x86_float_state32_t *fpstate = &mc->__fs; + fpstate->__fpu_mxcsr = 0x1F80; + *(unsigned short *)&fpstate->__fpu_fsw &= ~0xFF; +#else mcontext_t mc = uc->uc_mcontext; i386_float_state_t *fpstate = &mc->fs; fpstate->fpu_mxcsr = 0x1F80; *(unsigned short *)&fpstate->fpu_fsw &= ~0xFF; +#endif #elif defined(__DARWIN__) && defined(__ppc__) mcontext_t mc = uc->uc_mcontext; mc->ss.srr0 += 4;