summaryrefslogtreecommitdiff
path: root/devel/libffi/patches/patch-src_x86_win64.S
diff options
context:
space:
mode:
Diffstat (limited to 'devel/libffi/patches/patch-src_x86_win64.S')
-rw-r--r--devel/libffi/patches/patch-src_x86_win64.S15
1 files changed, 15 insertions, 0 deletions
diff --git a/devel/libffi/patches/patch-src_x86_win64.S b/devel/libffi/patches/patch-src_x86_win64.S
new file mode 100644
index 00000000000..c37faa9ce34
--- /dev/null
+++ b/devel/libffi/patches/patch-src_x86_win64.S
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_x86_win64.S,v 1.1 2013/07/26 13:12:25 ryoon Exp $
+
+Fix build on Cygwin64. From Cygwin64 1.7.22's 3.0.12-cygwin.patch.
+
+--- src/x86/win64.S.orig 2013-03-16 11:19:39.000000000 +0000
++++ src/x86/win64.S
+@@ -295,7 +295,7 @@ SYMBOL_NAME(ffi_closure_win64):
+ mov %rax, %rcx # context is first parameter
+ mov %rsp, %rdx # stack is second parameter
+ add $48, %rdx # point to start of arguments
+- mov $SYMBOL_NAME(ffi_closure_win64_inner), %rax
++ lea SYMBOL_NAME(ffi_closure_win64_inner)(%rip), %rax
+ callq *%rax # call the real closure function
+ add $40, %rsp
+ movq %rax, %xmm0 # If the closure returned a float,