pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/devel/libffi libffi: updated to 3.4.3



details:   https://anonhg.NetBSD.org/pkgsrc/rev/27a8ba909de5
branches:  trunk
changeset: 385818:27a8ba909de5
user:      adam <adam%pkgsrc.org@localhost>
date:      Mon Sep 26 18:43:48 2022 +0000

description:
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.

diffstat:

 devel/libffi/Makefile                        |   5 ++---
 devel/libffi/distinfo                        |  14 +++++++-------
 devel/libffi/patches/patch-configure         |  10 +++++-----
 devel/libffi/patches/patch-src_aarch64_ffi.c |  10 +++++-----
 devel/libffi/patches/patch-src_mips_ffi.c    |  27 +++++++++++++--------------
 5 files changed, 32 insertions(+), 34 deletions(-)

diffs (148 lines):

diff -r 524aa5efc30d -r 27a8ba909de5 devel/libffi/Makefile
--- a/devel/libffi/Makefile     Mon Sep 26 18:40:10 2022 +0000
+++ b/devel/libffi/Makefile     Mon Sep 26 18:43:48 2022 +0000
@@ -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}
diff -r 524aa5efc30d -r 27a8ba909de5 devel/libffi/distinfo
--- a/devel/libffi/distinfo     Mon Sep 26 18:40:10 2022 +0000
+++ b/devel/libffi/distinfo     Mon Sep 26 18:43:48 2022 +0000
@@ -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
diff -r 524aa5efc30d -r 27a8ba909de5 devel/libffi/patches/patch-configure
--- a/devel/libffi/patches/patch-configure      Mon Sep 26 18:40:10 2022 +0000
+++ b/devel/libffi/patches/patch-configure      Mon Sep 26 18:43:48 2022 +0000
@@ -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
  
diff -r 524aa5efc30d -r 27a8ba909de5 devel/libffi/patches/patch-src_aarch64_ffi.c
--- a/devel/libffi/patches/patch-src_aarch64_ffi.c      Mon Sep 26 18:40:10 2022 +0000
+++ b/devel/libffi/patches/patch-src_aarch64_ffi.c      Mon Sep 26 18:43:48 2022 +0000
@@ -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
diff -r 524aa5efc30d -r 27a8ba909de5 devel/libffi/patches/patch-src_mips_ffi.c
--- a/devel/libffi/patches/patch-src_mips_ffi.c Mon Sep 26 18:40:10 2022 +0000
+++ b/devel/libffi/patches/patch-src_mips_ffi.c Mon Sep 26 18:43:48 2022 +0000
@@ -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 @@
        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