diff options
author | ryoon <ryoon@pkgsrc.org> | 2013-07-26 13:12:25 +0000 |
---|---|---|
committer | ryoon <ryoon@pkgsrc.org> | 2013-07-26 13:12:25 +0000 |
commit | 7bd80c34e59fbd72630804279fdd7da531670472 (patch) | |
tree | 5d97f4fdcba2c0c368509d9cc7ddb40c000866b5 /devel | |
parent | 159d66d403e51b1c59ef62faaeca79faed26768d (diff) | |
download | pkgsrc-7bd80c34e59fbd72630804279fdd7da531670472.tar.gz |
Fix build on Cygwin64.
* Patches borrowed from cygwin64's libffi-3.0.13-1-src.tar.bz2.
Diffstat (limited to 'devel')
-rw-r--r-- | devel/libffi/distinfo | 4 | ||||
-rw-r--r-- | devel/libffi/patches/patch-src_x86_ffi.c | 15 | ||||
-rw-r--r-- | devel/libffi/patches/patch-src_x86_win64.S | 15 |
3 files changed, 33 insertions, 1 deletions
diff --git a/devel/libffi/distinfo b/devel/libffi/distinfo index 46d386d5ea7..39718e31179 100644 --- a/devel/libffi/distinfo +++ b/devel/libffi/distinfo @@ -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-ah) = e9580069ede90cd616da7bc230b28acbf5d204a6 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 --git a/devel/libffi/patches/patch-src_x86_ffi.c b/devel/libffi/patches/patch-src_x86_ffi.c new file mode 100644 index 00000000000..eee8bedfc57 --- /dev/null +++ b/devel/libffi/patches/patch-src_x86_ffi.c @@ -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 --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, |