ports/lang/mono/files/patch-mono_mini_tramp-amd64.c
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

26 lines
1.1 KiB
C

--- mono/mini/tramp-amd64.c.orig 2018-04-13 23:37:57 UTC
+++ mono/mini/tramp-amd64.c
@@ -363,7 +363,11 @@ mono_arch_create_generic_trampoline (Mon
}
for (i = 0; i < AMD64_XMM_NREG; ++i)
if (AMD64_IS_ARGUMENT_XREG (i))
+#if defined(MONO_HAVE_SIMD_REG)
amd64_movdqu_membase_reg (code, AMD64_RBP, saved_fpregs_offset + (i * sizeof(MonoContextSimdReg)), i);
+#else
+ amd64_movsd_membase_reg (code, AMD64_RBP, saved_fpregs_offset + (i * sizeof(double)), i);
+#endif
/* Check that the stack is aligned */
amd64_mov_reg_reg (code, AMD64_R11, AMD64_RSP, sizeof (mgreg_t));
@@ -540,7 +544,11 @@ mono_arch_create_generic_trampoline (Mon
amd64_mov_reg_membase (code, i, AMD64_RBP, saved_regs_offset + (i * sizeof(mgreg_t)), sizeof(mgreg_t));
for (i = 0; i < AMD64_XMM_NREG; ++i)
if (AMD64_IS_ARGUMENT_XREG (i))
+#if defined(MONO_HAVE_SIMD_REG)
amd64_movdqu_reg_membase (code, i, AMD64_RBP, saved_fpregs_offset + (i * sizeof(MonoContextSimdReg)));
+#else
+ amd64_movsd_reg_membase (code, i, AMD64_RBP, saved_fpregs_offset + (i * sizeof(double)));
+#endif
/* Restore stack */
#if TARGET_WIN32