Clarify when ucontext_t is available
[mono.git] / mono / utils / mono-context.c
index b796c81ec7be686242fece021f587e6b3888f0e3..81aff561ccab6650b420e92d2613a423e519b243 100644 (file)
@@ -45,7 +45,9 @@ mono_sigctx_to_monoctx (void *sigctx, MonoContext *mctx)
        mctx->esi = 0xDEADBEEF;
        mctx->edi = 0xDEADBEEF;
        mctx->eip = 0xDEADBEEF;
-#elif defined(MONO_SIGNAL_USE_SIGACTION)
+#elif MONO_CROSS_COMPILE
+       g_assert_not_reached ();
+#elif defined(MONO_SIGNAL_USE_UCONTEXT_T)
        ucontext_t *ctx = (ucontext_t*)sigctx;
        
        mctx->eax = UCONTEXT_REG_EAX (ctx);
@@ -89,7 +91,9 @@ mono_monoctx_to_sigctx (MonoContext *mctx, void *sigctx)
 {
 #if defined(__native_client__) || defined(HOST_WATCHOS)
        printf("WARNING: mono_arch_monoctx_to_sigctx() called!\n");
-#elif defined(MONO_SIGNAL_USE_SIGACTION)
+#elif MONO_CROSS_COMPILE
+       g_assert_not_reached ();
+#elif defined(MONO_SIGNAL_USE_UCONTEXT_T)
        ucontext_t *ctx = (ucontext_t*)sigctx;
 
        UCONTEXT_REG_EAX (ctx) = mctx->eax;
@@ -143,7 +147,9 @@ mono_sigctx_to_monoctx (void *sigctx, MonoContext *mctx)
        printf("WARNING: mono_arch_sigctx_to_monoctx() called!\n");
 #endif
 
-#if defined(MONO_SIGNAL_USE_SIGACTION)
+#ifdef MONO_CROSS_COMPILE
+       g_assert_not_reached ();
+#elif defined(MONO_SIGNAL_USE_UCONTEXT_T)
        ucontext_t *ctx = (ucontext_t*)sigctx;
 
        mctx->gregs [AMD64_RAX] = UCONTEXT_REG_RAX (ctx);
@@ -184,25 +190,7 @@ mono_sigctx_to_monoctx (void *sigctx, MonoContext *mctx)
        mctx->gregs [AMD64_R14] = context->R14;
        mctx->gregs [AMD64_R15] = context->R15;
 #else
-       MonoContext *ctx = (MonoContext *)sigctx;
-
-       mctx->gregs [AMD64_RAX] = ctx->gregs [AMD64_RAX];
-       mctx->gregs [AMD64_RBX] = ctx->gregs [AMD64_RBX];
-       mctx->gregs [AMD64_RCX] = ctx->gregs [AMD64_RCX];
-       mctx->gregs [AMD64_RDX] = ctx->gregs [AMD64_RDX];
-       mctx->gregs [AMD64_RBP] = ctx->gregs [AMD64_RBP];
-       mctx->gregs [AMD64_RSP] = ctx->gregs [AMD64_RSP];
-       mctx->gregs [AMD64_RSI] = ctx->gregs [AMD64_RSI];
-       mctx->gregs [AMD64_RDI] = ctx->gregs [AMD64_RDI];
-       mctx->gregs [AMD64_R8] = ctx->gregs [AMD64_R8];
-       mctx->gregs [AMD64_R9] = ctx->gregs [AMD64_R9];
-       mctx->gregs [AMD64_R10] = ctx->gregs [AMD64_R10];
-       mctx->gregs [AMD64_R11] = ctx->gregs [AMD64_R11];
-       mctx->gregs [AMD64_R12] = ctx->gregs [AMD64_R12];
-       mctx->gregs [AMD64_R13] = ctx->gregs [AMD64_R13];
-       mctx->gregs [AMD64_R14] = ctx->gregs [AMD64_R14];
-       mctx->gregs [AMD64_R15] = ctx->gregs [AMD64_R15];
-       mctx->gregs [AMD64_RIP] = ctx->gregs [AMD64_RIP];
+       g_assert_not_reached ();
 #endif
 }
 
@@ -213,7 +201,9 @@ mono_monoctx_to_sigctx (MonoContext *mctx, void *sigctx)
   printf("WARNING: mono_arch_monoctx_to_sigctx() called!\n");
 #endif
 
-#if defined(MONO_SIGNAL_USE_SIGACTION)
+#ifdef MONO_CROSS_COMPILE
+       g_assert_not_reached ();
+#elif defined(MONO_SIGNAL_USE_UCONTEXT_T)
        ucontext_t *ctx = (ucontext_t*)sigctx;
 
        UCONTEXT_REG_RAX (ctx) = mctx->gregs [AMD64_RAX];
@@ -254,25 +244,7 @@ mono_monoctx_to_sigctx (MonoContext *mctx, void *sigctx)
        context->R14 = mctx->gregs [AMD64_R14];
        context->R15 = mctx->gregs [AMD64_R15];
 #else
-       MonoContext *ctx = (MonoContext *)sigctx;
-
-       ctx->gregs [AMD64_RAX] = mctx->gregs [AMD64_RAX];
-       ctx->gregs [AMD64_RBX] = mctx->gregs [AMD64_RBX];
-       ctx->gregs [AMD64_RCX] = mctx->gregs [AMD64_RCX];
-       ctx->gregs [AMD64_RDX] = mctx->gregs [AMD64_RDX];
-       ctx->gregs [AMD64_RBP] = mctx->gregs [AMD64_RBP];
-       ctx->gregs [AMD64_RSP] = mctx->gregs [AMD64_RSP];
-       ctx->gregs [AMD64_RSI] = mctx->gregs [AMD64_RSI];
-       ctx->gregs [AMD64_RDI] = mctx->gregs [AMD64_RDI];
-       ctx->gregs [AMD64_R8] = mctx->gregs [AMD64_R8];
-       ctx->gregs [AMD64_R9] = mctx->gregs [AMD64_R9];
-       ctx->gregs [AMD64_R10] = mctx->gregs [AMD64_R10];
-       ctx->gregs [AMD64_R11] = mctx->gregs [AMD64_R11];
-       ctx->gregs [AMD64_R12] = mctx->gregs [AMD64_R12];
-       ctx->gregs [AMD64_R13] = mctx->gregs [AMD64_R13];
-       ctx->gregs [AMD64_R14] = mctx->gregs [AMD64_R14];
-       ctx->gregs [AMD64_R15] = mctx->gregs [AMD64_R15];
-       ctx->gregs [AMD64_RIP] = mctx->gregs [AMD64_RIP];
+       g_assert_not_reached ();
 #endif
 }