Ticket #16290: patch-libgc-darwin_stop_world.c.diff

File patch-libgc-darwin_stop_world.c.diff, 1.0 KB (added by neil_mayhew@…, 16 years ago)
  • libgc/darwin_stop_world.c

     
    105105        if(r != KERN_SUCCESS) ABORT("thread_get_state failed");
    106106       
    107107#if defined(I386)
    108 #if defined(_STRUCT_X86_EXCEPTION_STATE32)
     108#if __DARWIN_UNIX03
    109109        lo = state.__esp;
    110110
    111111        GC_push_one(state.__eax);
     
    127127        GC_push_one(state.ebp);
    128128#endif
    129129#elif defined(POWERPC)
    130 #if defined(_STRUCT_PPC_EXCEPTION_STATE)
     130#if __DARWIN_UNIX03
    131131        lo = (void*)(state.__r1 - PPC_RED_ZONE_SIZE);
    132132       
    133133        GC_push_one(state.__r0);
     
    270270                             (natural_t *)&info, &outCount);
    271271        if(r != KERN_SUCCESS) continue;
    272272
    273 #if defined(_STRUCT_PPC_EXCEPTION_STATE)
     273#if __DARWIN_UNIX03
    274274        lo = (void*)(info.__r1 - PPC_RED_ZONE_SIZE);
    275275        hi = (ptr_t)FindTopOfStack(info.__r1);
    276276
     
    350350                             (natural_t *)&info, &outCount);
    351351        if(r != KERN_SUCCESS) continue;
    352352
    353 #if defined(_STRUCT_X86_EXCEPTION_STATE32)
     353#if __DARWIN_UNIX03
    354354        lo = (void*)info.__esp;
    355355        hi = (ptr_t)FindTopOfStack(info.__esp);
    356356