X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fx86-64-darwin-os.c;h=65429788d522a0283fcbc06d7fd11ba3d07fbb47;hb=7c406887c08477181e869b1b98142d99b52990ac;hp=5a0565611b19e93922feaeb9407610121c0f1088;hpb=e2b2b8f2156ede16d70a0bdd0cfad29ea31b8ccc;p=sbcl.git diff --git a/src/runtime/x86-64-darwin-os.c b/src/runtime/x86-64-darwin-os.c index 5a05656..6542978 100644 --- a/src/runtime/x86-64-darwin-os.c +++ b/src/runtime/x86-64-darwin-os.c @@ -25,11 +25,11 @@ #include #include -#ifdef MAC_OS_X_VERSION_10_5 +#if __DARWIN_UNIX03 #include #endif -#ifdef MAC_OS_X_VERSION_10_5 +#if __DARWIN_UNIX03 typedef struct __darwin_ucontext darwin_ucontext; typedef struct __darwin_mcontext64 darwin_mcontext; @@ -359,6 +359,10 @@ catch_exception_raise(mach_port_t exception_port, backup_thread_state = thread_state; open_stack_allocation(&thread_state); + /* Reserve a 256 byte zone for signal handlers + * to use on the interrupted thread stack. + */ + stack_allocate(&thread_state, 256); /* Save thread state */ target_thread_state = @@ -399,6 +403,7 @@ catch_exception_raise(mach_port_t exception_port, addr < undefined_alien_address + os_vm_page_size) { backup_thread_state = thread_state; open_stack_allocation(&thread_state); + stack_allocate(&thread_state, 256); /* Save thread state */ target_thread_state = @@ -428,6 +433,7 @@ catch_exception_raise(mach_port_t exception_port, backup_thread_state = thread_state; open_stack_allocation(&thread_state); + stack_allocate(&thread_state, 256); /* Save thread state */ target_thread_state = @@ -504,6 +510,7 @@ catch_exception_raise(mach_port_t exception_port, backup_thread_state = thread_state; open_stack_allocation(&thread_state); + stack_allocate(&thread_state, 256); /* Save thread state */ target_thread_state =