summaryrefslogtreecommitdiff
path: root/lang/mono5.10/files/patch-mono_mini_tramp-amd64.c
diff options
context:
space:
mode:
authorMark Linimon <linimon@FreeBSD.org>2020-12-18 19:32:37 +0000
committerMark Linimon <linimon@FreeBSD.org>2020-12-18 19:32:37 +0000
commitfcb2e9b294dd3a6649f9e0b3bd2074d76f144267 (patch)
tree1ac76eac7016c384db7531456c189e62327964ef /lang/mono5.10/files/patch-mono_mini_tramp-amd64.c
parentMark various ports as BROKEN with Mono 5.20, and, in some other cases, (diff)
Repo-copy existing lang/mono port to lang/mono5.10 in preparation for
switching lang/mono to a metaport.
Notes
Notes: svn path=/head/; revision=558399
Diffstat (limited to 'lang/mono5.10/files/patch-mono_mini_tramp-amd64.c')
-rw-r--r--lang/mono5.10/files/patch-mono_mini_tramp-amd64.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/lang/mono5.10/files/patch-mono_mini_tramp-amd64.c b/lang/mono5.10/files/patch-mono_mini_tramp-amd64.c
new file mode 100644
index 000000000000..c09b13cf0fec
--- /dev/null
+++ b/lang/mono5.10/files/patch-mono_mini_tramp-amd64.c
@@ -0,0 +1,26 @@
+--- 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