From 53656a155ed88d17559baefa5758511c8928aede Mon Sep 17 00:00:00 2001 From: Geoff Norton Date: Thu, 23 Jul 2009 01:28:16 +0000 Subject: [PATCH] 2009-07-20 Geoff Norton * mini-x86.h: Fix the x86 version guards to use Apple's properly defined macros. svn path=/trunk/mono/; revision=138478 --- mono/mini/ChangeLog | 5 +++++ mono/mini/mini-x86.h | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/mono/mini/ChangeLog b/mono/mini/ChangeLog index 9df70b957db..5c635f8fdaf 100644 --- a/mono/mini/ChangeLog +++ b/mono/mini/ChangeLog @@ -14,6 +14,11 @@ 2009-07-20 Geoff Norton + * mini-x86.h: Fix the x86 version guards to use Apple's + properly defined macros. + +2009-07-20 Geoff Norton + * mini-x86.c: Fix --trace on darwin-x86 and other systems which require aligned access. diff --git a/mono/mini/mini-x86.h b/mono/mini/mini-x86.h index 2c2ac3d361f..fbff6aecfdc 100644 --- a/mono/mini/mini-x86.h +++ b/mono/mini/mini-x86.h @@ -145,6 +145,9 @@ typedef struct { #if defined(__FreeBSD__) || defined(__APPLE__) #include #endif +#if defined(__APPLE__) +#include +#endif #if defined(__FreeBSD__) #define UCONTEXT_REG_EAX(ctx) ((ctx)->uc_mcontext.mc_eax) @@ -156,7 +159,8 @@ typedef struct { #define UCONTEXT_REG_ESI(ctx) ((ctx)->uc_mcontext.mc_esi) #define UCONTEXT_REG_EDI(ctx) ((ctx)->uc_mcontext.mc_edi) #define UCONTEXT_REG_EIP(ctx) ((ctx)->uc_mcontext.mc_eip) -#elif defined(__APPLE__) && defined(_STRUCT_MCONTEXT) +#elif defined(__APPLE__) +# if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 #define UCONTEXT_REG_EAX(ctx) ((ctx)->uc_mcontext->__ss.__eax) #define UCONTEXT_REG_EBX(ctx) ((ctx)->uc_mcontext->__ss.__ebx) #define UCONTEXT_REG_ECX(ctx) ((ctx)->uc_mcontext->__ss.__ecx) @@ -166,7 +170,7 @@ typedef struct { #define UCONTEXT_REG_ESI(ctx) ((ctx)->uc_mcontext->__ss.__esi) #define UCONTEXT_REG_EDI(ctx) ((ctx)->uc_mcontext->__ss.__edi) #define UCONTEXT_REG_EIP(ctx) ((ctx)->uc_mcontext->__ss.__eip) -#elif defined(__APPLE__) && !defined(_STRUCT_MCONTEXT) +# else #define UCONTEXT_REG_EAX(ctx) ((ctx)->uc_mcontext->ss.eax) #define UCONTEXT_REG_EBX(ctx) ((ctx)->uc_mcontext->ss.ebx) #define UCONTEXT_REG_ECX(ctx) ((ctx)->uc_mcontext->ss.ecx) @@ -176,6 +180,7 @@ typedef struct { #define UCONTEXT_REG_ESI(ctx) ((ctx)->uc_mcontext->ss.esi) #define UCONTEXT_REG_EDI(ctx) ((ctx)->uc_mcontext->ss.edi) #define UCONTEXT_REG_EIP(ctx) ((ctx)->uc_mcontext->ss.eip) +# endif #elif defined(__NetBSD__) #define UCONTEXT_REG_EAX(ctx) ((ctx)->uc_mcontext.__gregs [_REG_EAX]) #define UCONTEXT_REG_EBX(ctx) ((ctx)->uc_mcontext.__gregs [_REG_EBX]) -- 2.11.4.GIT