pkgsrc-Changes archive

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

CVS commit: pkgsrc/devel/libffi



Module Name:    pkgsrc
Committed By:   adam
Date:           Mon Sep 26 18:43:49 UTC 2022

Modified Files:
        pkgsrc/devel/libffi: Makefile distinfo
        pkgsrc/devel/libffi/patches: patch-configure patch-src_aarch64_ffi.c
            patch-src_mips_ffi.c

Log Message:
libffi: updated to 3.4.3

3.4.3

All struct args are passed by value, regardless of size, as per ABIs.
Enable static trampolines for Cygwin.
Add support for Loongson's LoongArch64 architecture.
Fix x32 static trampolines.
Fix 32-bit x86 stdcall stack corruption.
Fix ILP32 aarch64 support.


To generate a diff of this commit:
cvs rdiff -u -r1.50 -r1.51 pkgsrc/devel/libffi/Makefile
cvs rdiff -u -r1.61 -r1.62 pkgsrc/devel/libffi/distinfo
cvs rdiff -u -r1.3 -r1.4 pkgsrc/devel/libffi/patches/patch-configure \
    pkgsrc/devel/libffi/patches/patch-src_aarch64_ffi.c
cvs rdiff -u -r1.1 -r1.2 pkgsrc/devel/libffi/patches/patch-src_mips_ffi.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/devel/libffi/Makefile
diff -u pkgsrc/devel/libffi/Makefile:1.50 pkgsrc/devel/libffi/Makefile:1.51
--- pkgsrc/devel/libffi/Makefile:1.50   Tue Jun 28 11:31:46 2022
+++ pkgsrc/devel/libffi/Makefile        Mon Sep 26 18:43:48 2022
@@ -1,7 +1,6 @@
-# $NetBSD: Makefile,v 1.50 2022/06/28 11:31:46 wiz Exp $
+# $NetBSD: Makefile,v 1.51 2022/09/26 18:43:48 adam Exp $
 
-DISTNAME=      libffi-3.4.2
-PKGREVISION=   3
+DISTNAME=      libffi-3.4.3
 CATEGORIES=    devel
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=libffi/}
 GITHUB_RELEASE=        v${PKGVERSION_NOREV}

Index: pkgsrc/devel/libffi/distinfo
diff -u pkgsrc/devel/libffi/distinfo:1.61 pkgsrc/devel/libffi/distinfo:1.62
--- pkgsrc/devel/libffi/distinfo:1.61   Sun Jan  9 20:07:00 2022
+++ pkgsrc/devel/libffi/distinfo        Mon Sep 26 18:43:48 2022
@@ -1,16 +1,16 @@
-$NetBSD: distinfo,v 1.61 2022/01/09 20:07:00 tm Exp $
+$NetBSD: distinfo,v 1.62 2022/09/26 18:43:48 adam Exp $
 
-BLAKE2s (libffi-3.4.2.tar.gz) = a5773b741a815ea113d4b8e2ec62a0ea59a6cfb61367c39bc99276670efd5dfb
-SHA512 (libffi-3.4.2.tar.gz) = 31bad35251bf5c0adb998c88ff065085ca6105cf22071b9bd4b5d5d69db4fadf16cadeec9baca944c4bb97b619b035bb8279de8794b922531fddeb0779eb7fb1
-Size (libffi-3.4.2.tar.gz) = 1351355 bytes
-SHA1 (patch-configure) = 3976a6d3bf1c4b0fab9d62c2bde5c3675593a1eb
+BLAKE2s (libffi-3.4.3.tar.gz) = 329813f5e9ace34bb55820d98e1dc0f8d1a2232280e8321322f90f393811a825
+SHA512 (libffi-3.4.3.tar.gz) = 6e3620d3842ae0f983c47c3268364be32b6eeb2fc708b23d141531730e9149abb035c618b295be834999eadef64fabfa39df21c955c40473f3bbc9fd3170bad8
+Size (libffi-3.4.3.tar.gz) = 1358634 bytes
+SHA1 (patch-configure) = f5ca2947f3aadf51d59198a5339f81f19dc51cd2
 SHA1 (patch-configure_host) = a4c99cd0fbbbe0f2c806d662b85a6e2c56b31168
-SHA1 (patch-src_aarch64_ffi.c) = 016c504c55780a89ad2ecf17fea2355c9d1ac06d
+SHA1 (patch-src_aarch64_ffi.c) = e46083e6e6892524868b88dfbcd292f11db036d9
 SHA1 (patch-src_arm_sysv.S) = 9aaa8e12e627d68126fbc4ff02e06ed45c94da1a
 SHA1 (patch-src_closures.c) = 13c426ad678439d2781477aa2b10497a22223427
 SHA1 (patch-src_m68k_ffi.c) = 5179cfd150bc7de15eb1c5ee0a327016c2c32b3e
 SHA1 (patch-src_m88k_elfbsd.S) = 6572c7fa39c00096cb4a80bb88993ff1b4aaa8cc
-SHA1 (patch-src_mips_ffi.c) = 7353f68f73917af6bff0b90393ac3404ea54fb99
+SHA1 (patch-src_mips_ffi.c) = cbdfdab5d23cbb7c403b00166959f792ebfabb4a
 SHA1 (patch-src_mips_ffitarget.h) = 86f144b1dd62d912f1b03016772e2715f336bf6d
 SHA1 (patch-src_powerpc_ffi.c) = b68a93d0f8552efaa8c50256da3af3bde5de7059
 SHA1 (patch-src_powerpc_ffi__powerpc.h) = fafb125b28069d5108726ac7b2d4efdc4fdadf92

Index: pkgsrc/devel/libffi/patches/patch-configure
diff -u pkgsrc/devel/libffi/patches/patch-configure:1.3 pkgsrc/devel/libffi/patches/patch-configure:1.4
--- pkgsrc/devel/libffi/patches/patch-configure:1.3     Sun Jan  9 20:07:00 2022
+++ pkgsrc/devel/libffi/patches/patch-configure Mon Sep 26 18:43:48 2022
@@ -1,17 +1,17 @@
-$NetBSD: patch-configure,v 1.3 2022/01/09 20:07:00 tm Exp $
+$NetBSD: patch-configure,v 1.4 2022/09/26 18:43:48 adam Exp $
 
 Cannot use malloc on this target (NetBSD, Solaris), so, we revert to
 alternative means. Important is *-*-netbsd* and the change from *-pc-solaris*
 to *-*-solaris*.
 
---- configure.orig     2019-11-23 13:59:04.000000000 +0000
+--- configure.orig     2022-09-19 16:22:23.000000000 +0000
 +++ configure
-@@ -18483,7 +18483,7 @@ case "$target" in
- $as_echo "#define FFI_EXEC_TRAMPOLINE_TABLE 1" >>confdefs.h
+@@ -19721,7 +19721,7 @@ case "$target" in
+ printf "%s\n" "#define FFI_EXEC_TRAMPOLINE_TABLE 1" >>confdefs.h
  
       ;;
 -     *-apple-* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris* | *-linux-android*)
 +     *-apple-* | *-*-freebsd* | *-*-kfreebsd* | *-*-netbsd* |  *-*-openbsd* | *-*-solaris* | *-linux-android*)
  
- $as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
+ printf "%s\n" "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
  
Index: pkgsrc/devel/libffi/patches/patch-src_aarch64_ffi.c
diff -u pkgsrc/devel/libffi/patches/patch-src_aarch64_ffi.c:1.3 pkgsrc/devel/libffi/patches/patch-src_aarch64_ffi.c:1.4
--- pkgsrc/devel/libffi/patches/patch-src_aarch64_ffi.c:1.3     Wed Dec  8 22:28:37 2021
+++ pkgsrc/devel/libffi/patches/patch-src_aarch64_ffi.c Mon Sep 26 18:43:48 2022
@@ -1,18 +1,18 @@
-$NetBSD: patch-src_aarch64_ffi.c,v 1.3 2021/12/08 22:28:37 tnn Exp $
+$NetBSD: patch-src_aarch64_ffi.c,v 1.4 2022/09/26 18:43:48 adam Exp $
 
 For closures, aarch64 needs explicit invalidation of the code segments
 i-cache after data is written through the data mapping.
 But we don't have any way to look up the address of the code segment
 right now so for now skip doing the cache flush.
 
---- src/aarch64/ffi.c.orig     2021-06-27 15:17:08.000000000 +0000
+--- src/aarch64/ffi.c.orig     2022-09-19 09:57:23.000000000 +0000
 +++ src/aarch64/ffi.c
-@@ -846,7 +846,8 @@ ffi_prep_closure_loc (ffi_closure *closu
+@@ -869,7 +869,8 @@ ffi_prep_closure_loc (ffi_closure *closu
    ffi_clear_cache(tramp, tramp + FFI_TRAMPOLINE_SIZE);
  
    /* Also flush the cache for code mapping.  */
--#ifdef _WIN32
-+#if defined(_WIN32) || defined(__NetBSD__)
+-# ifdef _WIN32
++# if defined(_WIN32) || defined(__NetBSD__)
 +  // ffi_data_to_code_pointer is broken on NetBSD
    // Not using dlmalloc.c for Windows ARM64 builds
    // so calling ffi_data_to_code_pointer() isn't necessary

Index: pkgsrc/devel/libffi/patches/patch-src_mips_ffi.c
diff -u pkgsrc/devel/libffi/patches/patch-src_mips_ffi.c:1.1 pkgsrc/devel/libffi/patches/patch-src_mips_ffi.c:1.2
--- pkgsrc/devel/libffi/patches/patch-src_mips_ffi.c:1.1        Wed Feb 26 19:15:44 2020
+++ pkgsrc/devel/libffi/patches/patch-src_mips_ffi.c    Mon Sep 26 18:43:48 2022
@@ -1,27 +1,26 @@
-$NetBSD: patch-src_mips_ffi.c,v 1.1 2020/02/26 19:15:44 adam Exp $
+$NetBSD: patch-src_mips_ffi.c,v 1.2 2022/09/26 18:43:48 adam Exp $
 
 Fixes to support the various NetBSD mips ports.
 
---- src/mips/ffi.c.orig        2019-10-31 14:49:54.000000000 +0000
+--- src/mips/ffi.c.orig        2022-09-19 09:57:23.000000000 +0000
 +++ src/mips/ffi.c
-@@ -476,6 +476,7 @@ static ffi_status ffi_prep_cif_machdep_i
-               ((cif->arg_types)[index]->type << (arg_reg * FFI_FLAG_BITS));
+@@ -532,6 +532,7 @@ static ffi_status ffi_prep_cif_machdep_i
+               cif->flags += t->type << (arg_reg * FFI_FLAG_BITS);
            arg_reg++;
            break;
 +#ifdef __mips64
            case FFI_TYPE_LONGDOUBLE:
              /* Align it.  */
              arg_reg = FFI_ALIGN(arg_reg, 2);
-@@ -494,7 +495,7 @@ static ffi_status ffi_prep_cif_machdep_i
-               arg_reg++;
+@@ -605,6 +606,7 @@ static ffi_status ffi_prep_cif_machdep_i
+               break;
              }
-             break;
--
+           break;
 +#endif
+ 
          case FFI_TYPE_STRUCT:
              loc = arg_reg * FFI_SIZEOF_ARG;
-           cif->flags += calc_n32_struct_flags(soft_float || index >= nfixedargs,
-@@ -556,6 +557,7 @@ static ffi_status ffi_prep_cif_machdep_i
+@@ -666,6 +668,7 @@ static ffi_status ffi_prep_cif_machdep_i
          cif->flags += cif->rtype->type << (FFI_FLAG_BITS * 8);
        break;
  
@@ -29,10 +28,10 @@ Fixes to support the various NetBSD mips
        case FFI_TYPE_LONGDOUBLE:
        /* Long double is returned as if it were a struct containing
           two doubles.  */
-@@ -572,6 +574,7 @@ static ffi_status ffi_prep_cif_machdep_i
-                                             << (4 + (FFI_FLAG_BITS * 8));
-         }
-       break;
+@@ -715,6 +718,7 @@ static ffi_status ffi_prep_cif_machdep_i
+           }
+         break;
+       }
 +#endif
        default:
        cif->flags += FFI_TYPE_INT << (FFI_FLAG_BITS * 8);



Home | Main Index | Thread Index | Old Index