diff options
| author | adam <adam@pkgsrc.org> | 2022-09-26 18:43:48 +0000 |
|---|---|---|
| committer | adam <adam@pkgsrc.org> | 2022-09-26 18:43:48 +0000 |
| commit | 4749e2377bd85b4c3e24857883d615610fabd2d5 (patch) | |
| tree | 4a8192f857d4eac05a10e731c709811270608c2e /devel/libffi | |
| parent | 1634990f154126173cd77e2064f5932321ccce6b (diff) | |
| download | pkgsrc-4749e2377bd85b4c3e24857883d615610fabd2d5.tar.gz | |
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 (limited to 'devel/libffi')
| -rw-r--r-- | devel/libffi/Makefile | 5 | ||||
| -rw-r--r-- | devel/libffi/distinfo | 14 | ||||
| -rw-r--r-- | devel/libffi/patches/patch-configure | 10 | ||||
| -rw-r--r-- | devel/libffi/patches/patch-src_aarch64_ffi.c | 10 | ||||
| -rw-r--r-- | devel/libffi/patches/patch-src_mips_ffi.c | 27 |
5 files changed, 32 insertions, 34 deletions
diff --git a/devel/libffi/Makefile b/devel/libffi/Makefile index ea5d97fadba..a6de7f14f36 100644 --- a/devel/libffi/Makefile +++ b/devel/libffi/Makefile @@ -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 --git a/devel/libffi/distinfo b/devel/libffi/distinfo index 8dcfcef7e06..cb0f3ddfab4 100644 --- a/devel/libffi/distinfo +++ b/devel/libffi/distinfo @@ -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 --git a/devel/libffi/patches/patch-configure b/devel/libffi/patches/patch-configure index 31b087e65a0..3b6debf045e 100644 --- a/devel/libffi/patches/patch-configure +++ b/devel/libffi/patches/patch-configure @@ -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 --git a/devel/libffi/patches/patch-src_aarch64_ffi.c b/devel/libffi/patches/patch-src_aarch64_ffi.c index 2ff529f8ede..5b1dd972956 100644 --- a/devel/libffi/patches/patch-src_aarch64_ffi.c +++ b/devel/libffi/patches/patch-src_aarch64_ffi.c @@ -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 --git a/devel/libffi/patches/patch-src_mips_ffi.c b/devel/libffi/patches/patch-src_mips_ffi.c index c23bba8f4cf..9d58682b79f 100644 --- a/devel/libffi/patches/patch-src_mips_ffi.c +++ b/devel/libffi/patches/patch-src_mips_ffi.c @@ -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 ports. 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); |
