Source-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/devel/libffi Do not attempt to build in GO closure sup...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/d5883bfaf16c
branches:  trunk
changeset: 435557:d5883bfaf16c
user:      hauke <hauke%pkgsrc.org@localhost>
date:      Thu Jul 09 09:42:58 2020 +0000

description:
Do not attempt to build in GO closure support when there is no support
for GO on the platform.

Unbreaks build on Darwin 8.

diffstat:

 devel/libffi/Makefile                                |   4 +-
 devel/libffi/distinfo                                |   3 +-
 devel/libffi/patches/patch-src_powerpc_ffi__darwin.c |  75 ++++++++++++++++++++
 3 files changed, 79 insertions(+), 3 deletions(-)

diffs (108 lines):

diff -r 7c648e958dca -r d5883bfaf16c devel/libffi/Makefile
--- a/devel/libffi/Makefile     Thu Jul 09 08:47:16 2020 +0000
+++ b/devel/libffi/Makefile     Thu Jul 09 09:42:58 2020 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.42 2020/04/24 10:19:32 dsainty Exp $
+# $NetBSD: Makefile,v 1.43 2020/07/09 09:42:58 hauke Exp $
 
 DISTNAME=      libffi-3.3
-PKGREVISION=   2
+PKGREVISION=   3
 CATEGORIES=    devel
 MASTER_SITES=  ftp://sourceware.org/pub/libffi/
 
diff -r 7c648e958dca -r d5883bfaf16c devel/libffi/distinfo
--- a/devel/libffi/distinfo     Thu Jul 09 08:47:16 2020 +0000
+++ b/devel/libffi/distinfo     Thu Jul 09 09:42:58 2020 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.55 2020/05/05 02:46:50 tsutsui Exp $
+$NetBSD: distinfo,v 1.56 2020/07/09 09:42:58 hauke Exp $
 
 SHA1 (libffi-3.3.tar.gz) = 8df6cb570c8d6596a67d1c0773bf00650154f7aa
 RMD160 (libffi-3.3.tar.gz) = 2cd43b66d792f1bad76df2e19a8411beacfcb8e0
@@ -14,5 +14,6 @@
 SHA1 (patch-src_mips_ffi.c) = 7353f68f73917af6bff0b90393ac3404ea54fb99
 SHA1 (patch-src_mips_ffitarget.h) = 7fe62634803ccb5a168e76d597409c9af809c448
 SHA1 (patch-src_powerpc_ffi.c) = b68a93d0f8552efaa8c50256da3af3bde5de7059
+SHA1 (patch-src_powerpc_ffi__darwin.c) = 8da71571830bb5613fc3dc34a6f9707a0e7e7586
 SHA1 (patch-src_powerpc_ffi__powerpc.h) = 573b6f0f496ed7b8b6bc0df197515020519ae024
 SHA1 (patch-testsuite_libffi.call_float2.c) = 2a42a428b0cc55065968c7f0748026da12b70b9d
diff -r 7c648e958dca -r d5883bfaf16c devel/libffi/patches/patch-src_powerpc_ffi__darwin.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/devel/libffi/patches/patch-src_powerpc_ffi__darwin.c      Thu Jul 09 09:42:58 2020 +0000
@@ -0,0 +1,75 @@
+$NetBSD: patch-src_powerpc_ffi__darwin.c,v 1.1 2020/07/09 09:42:58 hauke Exp $
+
+There is no GO support for Darwin/powerpc, so we get undefined symbols.
+
+--- src/powerpc/ffi_darwin.c.orig      2019-10-31 14:49:54.000000000 +0000
++++ src/powerpc/ffi_darwin.c
+@@ -909,8 +909,10 @@ ffi_prep_cif_machdep (ffi_cif *cif)
+ extern void ffi_call_AIX(extended_cif *, long, unsigned, unsigned *,
+                        void (*fn)(void), void (*fn2)(void));
+ 
++#if defined(FFI_GO_CLOSURES)
+ extern void ffi_call_go_AIX(extended_cif *, long, unsigned, unsigned *,
+                           void (*fn)(void), void (*fn2)(void), void *closure);
++#endif /* FFI_GO_CLOSURES */
+ 
+ extern void ffi_call_DARWIN(extended_cif *, long, unsigned, unsigned *,
+                           void (*fn)(void), void (*fn2)(void), ffi_type*);
+@@ -950,6 +952,7 @@ ffi_call (ffi_cif *cif, void (*fn)(void)
+     }
+ }
+ 
++#if defined(FFI_GO_CLOSURES)
+ void
+ ffi_call_go (ffi_cif *cif, void (*fn) (void), void *rvalue, void **avalue,
+            void *closure)
+@@ -981,6 +984,7 @@ ffi_call_go (ffi_cif *cif, void (*fn) (v
+       break;
+     }
+ }
++#endif /* FFI_GO_CLOSURES */
+ 
+ static void flush_icache(char *);
+ static void flush_range(char *, int);
+@@ -1110,6 +1114,7 @@ ffi_prep_closure_loc (ffi_closure* closu
+   return FFI_OK;
+ }
+ 
++#if defined(FFI_GO_CLOSURES)
+ ffi_status
+ ffi_prep_go_closure (ffi_go_closure* closure,
+                    ffi_cif* cif,
+@@ -1133,6 +1138,7 @@ ffi_prep_go_closure (ffi_go_closure* clo
+     }
+   return FFI_OK;
+ }
++#endif /* FFI_GO_CLOSURES */
+ 
+ static void
+ flush_icache(char *addr)
+@@ -1168,9 +1174,11 @@ ffi_type *
+ ffi_closure_helper_DARWIN (ffi_closure *, void *,
+                          unsigned long *, ffi_dblfl *);
+ 
++#if defined(FFI_GO_CLOSURES)
+ ffi_type *
+ ffi_go_closure_helper_DARWIN (ffi_go_closure*, void *,
+                             unsigned long *, ffi_dblfl *);
++#endif /* FFI_GO_CLOSURES */
+ 
+ /* Basically the trampoline invokes ffi_closure_ASM, and on
+    entry, r11 holds the address of the closure.
+@@ -1430,6 +1438,7 @@ ffi_closure_helper_DARWIN (ffi_closure *
+                                   closure->user_data, rvalue, pgr, pfr);
+ }
+ 
++#if defined(FFI_GO_CLOSURES)
+ ffi_type *
+ ffi_go_closure_helper_DARWIN (ffi_go_closure *closure, void *rvalue,
+                             unsigned long *pgr, ffi_dblfl *pfr)
+@@ -1437,4 +1446,4 @@ ffi_go_closure_helper_DARWIN (ffi_go_clo
+   return ffi_closure_helper_common (closure->cif, closure->fun,
+                                   closure, rvalue, pgr, pfr);
+ }
+-
++#endif /* FFI_GO_CLOSURES */



Home | Main Index | Thread Index | Old Index