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