mono/mono-4.8.0-aarch64-glibc-2.26.patch

16 lines
804 B
Diff

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