2010-03-22 Zoltan Varga <vargaz@gmail.com>
authorZoltan Varga <vargaz@gmail.com>
Mon, 22 Mar 2010 21:43:08 +0000 (21:43 -0000)
committerZoltan Varga <vargaz@gmail.com>
Mon, 22 Mar 2010 21:43:08 +0000 (21:43 -0000)
* mono-sigcontext.h: Define UCONTEXT accessors for openbsd/amd64.

svn path=/trunk/mono/; revision=154017

mono/utils/ChangeLog
mono/utils/mono-sigcontext.h

index 866f40adf998a4501ab93ffd14b6961eaa2093fe..200fb7671a1d93430d60c4df065830a579ed1fee 100644 (file)
@@ -1,3 +1,7 @@
+2010-03-22  Zoltan Varga  <vargaz@gmail.com>
+
+       * mono-sigcontext.h: Define UCONTEXT accessors for openbsd/amd64.
+
 2010-03-22  Zoltan Varga  <vargaz@gmail.com>
 
        * mono-sigcontext.h: Applied patch from Robert Nagy (Robert@openbsd.org).
index 89a1a418ad8ee247621ebcbd850bfc87b15fe8d0..d5dfffb5e38d70e7821101c722d2e9be32799f73 100644 (file)
 
 #ifdef __FreeBSD__
 #define UCONTEXT_GREGS(ctx)    &(((ucontext_t*)(ctx))->uc_mcontext)
+#elif defined(__OpenBSD__)
+    /* OpenBSD/amd64 has no gregs array, ucontext_t == sigcontext */
+       #define UCONTEXT_REG_RAX(ctx) ((ctx)->sc_rax)
+       #define UCONTEXT_REG_RBX(ctx) ((ctx)->sc_rbx)
+       #define UCONTEXT_REG_RCX(ctx) ((ctx)->sc_rcx)
+       #define UCONTEXT_REG_RDX(ctx) ((ctx)->sc_rdx)
+       #define UCONTEXT_REG_RBP(ctx) ((ctx)->sc_rbp)
+       #define UCONTEXT_REG_RSP(ctx) ((ctx)->sc_rsp)
+       #define UCONTEXT_REG_RSI(ctx) ((ctx)->sc_rsi)
+       #define UCONTEXT_REG_RDI(ctx) ((ctx)->sc_rdi)
+       #define UCONTEXT_REG_RIP(ctx) ((ctx)->sc_rip)
+       #define UCONTEXT_REG_R12(ctx) ((ctx)->sc_r12)
+       #define UCONTEXT_REG_R13(ctx) ((ctx)->sc_r13)
+       #define UCONTEXT_REG_R14(ctx) ((ctx)->sc_r14)
+       #define UCONTEXT_REG_R15(ctx) ((ctx)->sc_r15)
 #else
 #define UCONTEXT_GREGS(ctx)    &(((ucontext_t*)(ctx))->uc_mcontext.gregs)
 #endif