Blob Blame History Raw
diff -up mono-4.8.0/mono/utils/mono-context.c.than mono-4.8.0/mono/utils/mono-context.c
--- mono-4.8.0/mono/utils/mono-context.c.than	2017-09-20 20:58:53.854625078 +0200
+++ mono-4.8.0/mono/utils/mono-context.c	2017-09-20 22:53:40.863538894 +0200
@@ -387,7 +387,11 @@ mono_sigctx_to_monoctx (void *sigctx, Mo
 	mctx->pc = UCONTEXT_REG_PC (sigctx);
 	mctx->regs [ARMREG_SP] = UCONTEXT_REG_SP (sigctx);
 #ifdef __linux__
+#if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 26)))
+	struct fpsimd_context *fpctx = (struct fpsimd_context*)&((ucontext_t*)sigctx)->uc_mcontext.__glibc_reserved1;
+#else
 	struct fpsimd_context *fpctx = (struct fpsimd_context*)&((ucontext_t*)sigctx)->uc_mcontext.__reserved;
+#endif
 	int i;
 
 	g_assert (fpctx->head.magic == FPSIMD_MAGIC);