site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com -- Terry On Jan 19, 2009, at 2:16 PM, Joel Reymont <joelr1@gmail.com> wrote: What do these stand for and how are they used? The signal number is obvious but the return EIP is not. Thanks in advance, Joel --- --- http://twitter.com/wagerlabs _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/tlambert%40apple.com _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... The GP2 does not get the faulting address on i385 if it is in the 64 bit hole. Otherwise it is the faulting address. Don't expect siginfo to not change. Unless you are a debugger, and rev every time week rev the os, expect your code to break. A call to getthreadstate is a better bet. I've been looking at /usr/include/mach/i386/_structs.h and xnu/bsd/ dev/i386/unix_signal.c (sendsig) for quite a while but I don't understand the purpose of faultvaddr and user_cr2. I have a hunch that this is the trap address but will it match EIP in saved registers? I need to grab the signal number and the return EIP in my signal handler. #if __DARWIN_UNIX03 #define _STRUCT_X86_EXCEPTION_STATE32 struct __darwin_i386_exception_state _STRUCT_X86_EXCEPTION_STATE32 { unsigned int __trapno; unsigned int __err; unsigned int __faultvaddr; }; #else /* !__DARWIN_UNIX03 */ This email sent to tlambert@apple.com This email sent to site_archiver@lists.apple.com