From 9bcc4dd4ede23edfdb21d1be2791b1ac69441074 Mon Sep 17 00:00:00 2001 From: Joel Dice <git@seibutsu.mailsnare.net> Date: Mon, 31 Mar 2008 11:58:40 -0600 Subject: [PATCH] fix build for OSX 10.4 and below --- src/posix.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/posix.cpp b/src/posix.cpp index 2a60146e1e..21ad14d866 100644 --- a/src/posix.cpp +++ b/src/posix.cpp @@ -65,10 +65,17 @@ const int SegFaultSignal = SIGSEGV; # define STACK_REGISTER(context) (context->uc_mcontext.gregs[REG_RSP]) # define THREAD_REGISTER(context) (context->uc_mcontext.gregs[REG_RBX]) #elif defined __APPLE__ -# define IP_REGISTER(context) (context->uc_mcontext->__ss.__eip) -# define BASE_REGISTER(context) (context->uc_mcontext->__ss.__ebp) -# define STACK_REGISTER(context) (context->uc_mcontext->__ss.__esp) -# define THREAD_REGISTER(context) (context->uc_mcontext->__ss.__ebx) +# if __DARWIN_UNIX03 && defined(_STRUCT_X86_EXCEPTION_STATE32) +# define IP_REGISTER(context) (context->uc_mcontext->__ss.__eip) +# define BASE_REGISTER(context) (context->uc_mcontext->__ss.__ebp) +# define STACK_REGISTER(context) (context->uc_mcontext->__ss.__esp) +# define THREAD_REGISTER(context) (context->uc_mcontext->__ss.__ebx) +# else +# define IP_REGISTER(context) (context->uc_mcontext->ss.eip) +# define BASE_REGISTER(context) (context->uc_mcontext->ss.ebp) +# define STACK_REGISTER(context) (context->uc_mcontext->ss.esp) +# define THREAD_REGISTER(context) (context->uc_mcontext->ss.ebx) +# endif #elif defined __i386__ # define IP_REGISTER(context) (context->uc_mcontext.gregs[REG_EIP]) # define BASE_REGISTER(context) (context->uc_mcontext.gregs[REG_EBP])