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);