1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-23 09:10:43 +00:00
freebsd-ports/lang/mono/files/patch-mono_utils_mono-context.h
Mark Felder 8593616010 Update Mono to 5.10.1.47
This brings a more modern Mono release to the ports tree. After
discussions with others in the Mono community I targeted the mono
5.10.1.47 release which is the latest release in the "Visual Studio"
release channel. This is considered to be the most stable and widely
tested, which makes it a good candidate for us. We may upgrade to 5.12
after additional testing or introduce another Mono package for users who
require testing against a newer release; this has yet to be determined.

- Build from official release tarballs
- Now include BoringSSL per upstream guidelines [1]
- Remove ACCEPTANCE_TESTS, not being updated by upstream
- No long require glib; Mono includes their own replacement
- USES=display:tests required for some tests
- Remove broken for armv6, armv7: file now available [2]
- Mark as LLD safe as mono changed how it handles TLS [3]

Changelog:	http://www.mono-project.com/docs/about-mono/releases/5.10.0/

PR:		222271 [1]
PR:		221236 [2]
PR:		218885 [3]
PR:		211367
Approved by:	dbn
Differential Revision:	https://reviews.freebsd.org/D15780
2018-06-16 15:56:41 +00:00

43 lines
1.2 KiB
C

--- mono/utils/mono-context.h.orig 2018-04-13 23:37:57 UTC
+++ mono/utils/mono-context.h
@@ -24,23 +24,30 @@
#if defined(TARGET_X86)
#if defined(__APPLE__)
+#define MONO_HAVE_SIMD_REG
typedef struct __darwin_xmm_reg MonoContextSimdReg;
#endif
#elif defined(TARGET_AMD64)
#if defined(__APPLE__)
+#define MONO_HAVE_SIMD_REG
typedef struct __darwin_xmm_reg MonoContextSimdReg;
#elif defined(__linux__) && defined(__GLIBC__)
+#define MONO_HAVE_SIMD_REG
typedef struct _libc_xmmreg MonoContextSimdReg;
#elif defined(HOST_WIN32)
+#define MONO_HAVE_SIMD_REG
#include <emmintrin.h>
typedef __m128d MonoContextSimdReg;
#elif defined(HOST_ANDROID)
+#define MONO_HAVE_SIMD_REG
typedef struct _libc_xmmreg MonoContextSimdReg;
#elif defined(__linux__)
+#define MONO_HAVE_SIMD_REG
#include <emmintrin.h>
typedef __m128d MonoContextSimdReg;
#endif
#elif defined(TARGET_ARM64)
+#define MONO_HAVE_SIMD_REG
typedef __uint128_t MonoContextSimdReg;
#endif
@@ -255,7 +262,7 @@ typedef struct {
typedef struct {
mgreg_t gregs [AMD64_NREG];
-#if defined(__APPLE__) || (defined(__linux__) && defined(__GLIBC__)) || defined(HOST_WIN32)
+#if defined(MONO_HAVE_SIMD_REG)
MonoContextSimdReg fregs [AMD64_XMM_NREG];
#else
double fregs [AMD64_XMM_NREG];