diff --git a/src/mzscheme/gc/include/private/gc_priv.h b/src/mzscheme/gc/include/private/gc_priv.h index ff91fb71e5..503728f9ad 100644 --- a/src/mzscheme/gc/include/private/gc_priv.h +++ b/src/mzscheme/gc/include/private/gc_priv.h @@ -414,7 +414,7 @@ extern GC_warn_proc GC_current_warn_proc; || defined (HAS_PPC_THREAD_STATE64___R0) \ || defined (HAS_X86_THREAD_STATE32___EAX) \ || defined (HAS_X86_THREAD_STATE64___RAX) \ - || defined (__DARWIN_UNIX03) + || __DARWIN_UNIX03 # define THREAD_FLD(x) __ ## x # else # define THREAD_FLD(x) x diff --git a/src/mzscheme/gc2/vm_osx.c b/src/mzscheme/gc2/vm_osx.c index 4cf8233177..d569bf00e0 100644 --- a/src/mzscheme/gc2/vm_osx.c +++ b/src/mzscheme/gc2/vm_osx.c @@ -35,6 +35,12 @@ static int designate_modified(void *p); int designate_modified(void *p); #endif +#if __DARWIN_UNIX03 +# define THREAD_FLD(x) __ ## x +#else +# define THREAD_FLD(x) x +#endif + #if defined(MZ_USE_PLACES) && defined (MZ_PRECISE_GC) typedef struct OSXThreadData { struct OSXThreadData *next; @@ -283,7 +289,7 @@ kern_return_t GC_catch_exception_raise(mach_port_t port, mach_msg_type_number_t exc_state_count = x86_EXCEPTION_STATE64_COUNT; (void)thread_get_state(thread_port, x86_EXCEPTION_STATE64, (natural_t*)&exc_state, &exc_state_count); - p = (void *)exc_state.__faultvaddr; + p = (void *)exc_state. THREAD_FLD(faultvaddr); #endif #if defined(MZ_USE_PLACES) && defined (MZ_PRECISE_GC)