[Mono-dev] [PATCH] Enable sgen on sparc and Solaris

Andreas Färber andreas.faerber at web.de
Sat Oct 2 07:52:00 EDT 2010


Am 01.10.2010 um 15:35 schrieb Dick Porter:

> diff --git a/mono/utils/mono-sigcontext.h b/mono/utils/mono- 
> sigcontext.h
> index a794a28..0cd3bc5 100644
> --- a/mono/utils/mono-sigcontext.h
> +++ b/mono/utils/mono-sigcontext.h
> @@ -67,6 +67,16 @@
> 	#define UCONTEXT_REG_ESI(ctx) (((ucontext_t*)(ctx))->sc_esi)
> 	#define UCONTEXT_REG_EDI(ctx) (((ucontext_t*)(ctx))->sc_edi)
> 	#define UCONTEXT_REG_EIP(ctx) (((ucontext_t*)(ctx))->sc_eip)
> +#elif defined(PLATFORM_SOLARIS)
> +	#define UCONTEXT_REG_EAX(ctx) (((ucontext_t*)(ctx))- 
> >uc_mcontext.gregs [EAX])
> +	#define UCONTEXT_REG_EBX(ctx) (((ucontext_t*)(ctx))- 
> >uc_mcontext.gregs [EBX])
> +	#define UCONTEXT_REG_ECX(ctx) (((ucontext_t*)(ctx))- 
> >uc_mcontext.gregs [ECX])
> +	#define UCONTEXT_REG_EDX(ctx) (((ucontext_t*)(ctx))- 
> >uc_mcontext.gregs [EDX])
> +	#define UCONTEXT_REG_EBP(ctx) (((ucontext_t*)(ctx))- 
> >uc_mcontext.gregs [EBP])
> +	#define UCONTEXT_REG_ESP(ctx) (((ucontext_t*)(ctx))- 
> >uc_mcontext.gregs [ESP])
> +	#define UCONTEXT_REG_ESI(ctx) (((ucontext_t*)(ctx))- 
> >uc_mcontext.gregs [ESI])
> +	#define UCONTEXT_REG_EDI(ctx) (((ucontext_t*)(ctx))- 
> >uc_mcontext.gregs [EDI])
> +	#define UCONTEXT_REG_EIP(ctx) (((ucontext_t*)(ctx))- 
> >uc_mcontext.gregs [EIP])
> #else
> 	#define UCONTEXT_REG_EAX(ctx) (((ucontext_t*)(ctx))- 
> >uc_mcontext.gregs [REG_EAX])
> 	#define UCONTEXT_REG_EBX(ctx) (((ucontext_t*)(ctx))- 
> >uc_mcontext.gregs [REG_EBX])

Since the only difference is s/REG_//, there used to be some macros  
defining REG_EAX to EAX etc. to avoid the elif here iirc.

Andreas


More information about the Mono-devel-list mailing list