pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/devel/libffi Fix build on Cygwin64.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/7eca35e14272
branches:  trunk
changeset: 622129:7eca35e14272
user:      ryoon <ryoon%pkgsrc.org@localhost>
date:      Fri Jul 26 13:12:25 2013 +0000

description:
Fix build on Cygwin64.

* Patches borrowed from cygwin64's libffi-3.0.13-1-src.tar.bz2.

diffstat:

 devel/libffi/distinfo                      |   4 +++-
 devel/libffi/patches/patch-src_x86_ffi.c   |  15 +++++++++++++++
 devel/libffi/patches/patch-src_x86_win64.S |  15 +++++++++++++++
 3 files changed, 33 insertions(+), 1 deletions(-)

diffs (53 lines):

diff -r b7321d010438 -r 7eca35e14272 devel/libffi/distinfo
--- a/devel/libffi/distinfo     Fri Jul 26 13:08:32 2013 +0000
+++ b/devel/libffi/distinfo     Fri Jul 26 13:12:25 2013 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.28 2013/04/06 12:41:23 obache Exp $
+$NetBSD: distinfo,v 1.29 2013/07/26 13:12:25 ryoon Exp $
 
 SHA1 (libffi-3.0.13.tar.gz) = f5230890dc0be42fb5c58fbf793da253155de106
 RMD160 (libffi-3.0.13.tar.gz) = 03f0627c0fcc800d38636258a2fab2d6bb8b6625
@@ -13,3 +13,5 @@
 SHA1 (patch-ai) = f85a6cb64d4a9d7c3e56b47b7092fce10a744b5b
 SHA1 (patch-aj) = d130b2b20b94ca26c70dcc46614e36c6d0ac9153
 SHA1 (patch-fficonfig.h.in) = fd85fa767bc057c843ff71cc61bedfcff84def43
+SHA1 (patch-src_x86_ffi.c) = b9ac64a53a92de663a339212e22c1286fa41c1d5
+SHA1 (patch-src_x86_win64.S) = 5b6836bae6c73743b925de4d11bc241c783bffd6
diff -r b7321d010438 -r 7eca35e14272 devel/libffi/patches/patch-src_x86_ffi.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/libffi/patches/patch-src_x86_ffi.c  Fri Jul 26 13:12:25 2013 +0000
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_x86_ffi.c,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/ffi.c.orig 2013-03-16 11:25:04.000000000 +0000
++++ src/x86/ffi.c
+@@ -28,7 +28,7 @@
+    DEALINGS IN THE SOFTWARE.
+    ----------------------------------------------------------------------- */
+ 
+-#if !defined(__x86_64__) || defined(_WIN64)
++#if !defined(__x86_64__) || defined(_WIN64) || defined(__CYGWIN__)
+ 
+ #ifdef _WIN64
+ #include <windows.h>
diff -r b7321d010438 -r 7eca35e14272 devel/libffi/patches/patch-src_x86_win64.S
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/libffi/patches/patch-src_x86_win64.S        Fri Jul 26 13:12:25 2013 +0000
@@ -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,



Home | Main Index | Thread Index | Old Index