*/
os_context_t *context;
-#if __DARWIN_UNIX03
+#if MAC_OS_X_VERSION_10_5
struct __darwin_mcontext32 *regs;
#else
struct mcontext *regs;
#endif
context = (os_context_t*) os_validate(0, sizeof(os_context_t));
-#if __DARWIN_UNIX03
+#if MAC_OS_X_VERSION_10_5
regs = (struct __darwin_mcontext32*) os_validate(0, sizeof(struct __darwin_mcontext32));
#else
regs = (struct mcontext*) os_validate(0, sizeof(struct mcontext));
update_thread_state_from_context(thread_state, float_state, context);
os_invalidate((os_vm_address_t)context, sizeof(os_context_t));
-#if __DARWIN_UNIX03
+#if MAC_OS_X_VERSION_10_5
os_invalidate((os_vm_address_t)regs, sizeof(struct __darwin_mcontext32));
#else
os_invalidate((os_vm_address_t)regs, sizeof(struct mcontext));
os_context_t *context = arch_os_get_context(&void_context);
arrange_return_to_lisp_function
- (context, SymbolFunction(CONTROL_STACK_EXHAUSTED_ERROR));
+ (context, StaticSymbolFunction(CONTROL_STACK_EXHAUSTED_ERROR));
}
void
os_context_t *context = arch_os_get_context(&void_context);
arrange_return_to_lisp_function
- (context, SymbolFunction(UNDEFINED_ALIEN_VARIABLE_ERROR));
+ (context, StaticSymbolFunction(UNDEFINED_ALIEN_VARIABLE_ERROR));
}
kern_return_t
ret = KERN_INVALID_RIGHT;
break;
}
+ addr = (void*)code_vector[1];
+ /* Undefined alien */
+ if (os_trunc_to_page(addr) == undefined_alien_address) {
+ handler = undefined_alien_handler;
+ break;
+ }
+ /* At stack guard */
+ if (os_trunc_to_page(addr) == CONTROL_STACK_GUARD_PAGE(th)) {
+ protect_control_stack_guard_page_thread(0, th);
+ protect_control_stack_return_guard_page_thread(1, th);
+ handler = control_stack_exhausted_handler;
+ break;
+ }
+ /* Return from stack guard */
+ if (os_trunc_to_page(addr) == CONTROL_STACK_RETURN_GUARD_PAGE(th)) {
+ protect_control_stack_guard_page_thread(1, th);
+ protect_control_stack_return_guard_page_thread(0, th);
+ break;
+ }
/* Get vm_region info */
region_addr = (vm_address_t)code_vector[1];
info_count = VM_REGION_BASIC_INFO_COUNT;
ret = KERN_SUCCESS;
break;
}
- addr = (void*)code_vector[1];
- /* At stack guard */
- if (os_trunc_to_page(addr) == CONTROL_STACK_GUARD_PAGE(th)) {
- protect_control_stack_guard_page_thread(0, th);
- protect_control_stack_return_guard_page_thread(1, th);
- handler = control_stack_exhausted_handler;
- break;
- }
- /* Return from stack guard */
- if (os_trunc_to_page(addr) == CONTROL_STACK_RETURN_GUARD_PAGE(th)) {
- protect_control_stack_guard_page_thread(1, th);
- protect_control_stack_return_guard_page_thread(0, th);
- break;
- }
- /* Undefined alien */
- if (os_trunc_to_page(addr) == undefined_alien_address) {
- handler = undefined_alien_handler;
- break;
- }
/* Regular memory fault */
handler = memory_fault_handler;
break;