Some fixes for the Darwin build.

This commit is contained in:
Alexandre Julliard 2005-07-03 11:24:54 +00:00
parent ade3dd2828
commit 2e1f8fc8dd
1 changed files with 21 additions and 24 deletions

View File

@ -297,7 +297,27 @@ typedef struct
# include <signal.h>
typedef siginfo_t siginfo;
typedef struct ucontext SIGCONTEXT;
typedef struct sigcontext SIGCONTEXT;
#define EAX_sig(context) ((context)->sc_eax)
#define EBX_sig(context) ((context)->sc_ebx)
#define ECX_sig(context) ((context)->sc_ecx)
#define EDX_sig(context) ((context)->sc_edx)
#define ESI_sig(context) ((context)->sc_esi)
#define EDI_sig(context) ((context)->sc_edi)
#define EBP_sig(context) ((context)->sc_ebp)
#define CS_sig(context) ((context)->sc_cs)
#define DS_sig(context) ((context)->sc_ds)
#define ES_sig(context) ((context)->sc_es)
#define FS_sig(context) ((context)->sc_fs)
#define GS_sig(context) ((context)->sc_gs)
#define SS_sig(context) ((context)->sc_ss)
#define EFL_sig(context) ((context)->sc_eflags)
#define EIP_sig(context) (*((unsigned long*)&(context)->sc_eip))
#define ESP_sig(context) (*((unsigned long*)&(context)->sc_esp))
# define HANDLER_DEF(name) void name( int __signal, siginfo *__siginfo, SIGCONTEXT *__context )
# define HANDLER_CONTEXT (__context)
@ -387,29 +407,6 @@ typedef struct ucontext SIGCONTEXT;
#endif /* svr4 || SCO_DS */
#ifdef __APPLE__
#define EAX_sig(context) ((context)->uc_mcontext.sc_eax)
#define EBX_sig(context) ((context)->uc_mcontext.sc_ebx)
#define ECX_sig(context) ((context)->uc_mcontext.sc_ecx)
#define EDX_sig(context) ((context)->uc_mcontext.sc_edx)
#define ESI_sig(context) ((context)->uc_mcontext.sc_esi)
#define EDI_sig(context) ((context)->uc_mcontext.sc_edi)
#define EBP_sig(context) ((context)->uc_mcontext.sc_ebp)
#define CS_sig(context) ((context)->uc_mcontext.sc_cs)
#define DS_sig(context) ((context)->uc_mcontext.sc_ds)
#define ES_sig(context) ((context)->uc_mcontext.sc_es)
#define FS_sig(context) ((context)->uc_mcontext.sc_fs)
#define GS_sig(context) ((context)->uc_mcontext.sc_gs)
#define SS_sig(context) ((context)->uc_mcontext.sc_ss)
#define EFL_sig(context) ((context)->uc_mcontext.sc_eflags)
#define EIP_sig(context) (*((unsigned long*)&(context)->uc_mcontext.sc_eip))
#define ESP_sig(context) (*((unsigned long*)&(context)->uc_mcontext.sc_esp))
#endif /* __APPLE__ */
/* exception code definitions (already defined by FreeBSD/NetBSD) */
#if !defined(__FreeBSD__) && !defined(__NetBSD__) /* FIXME: other BSDs? */
#define T_DIVIDE 0 /* Division by zero exception */