libffi: Update to version 3.8.0

Message ID 20260813133942.2669472-7-adolf.belka@ipfire.org
State Staged
Commit 7733229f038a5761a90b569de5d7e1135a456aea
Headers
Series libffi: Update to version 3.8.0 |

Commit Message

Adolf Belka 13 Aug 2026, 1:39 p.m. UTC
- Update from version 3.7.1 to 3.8.0
- Update of rootfile
- Changelog
3.8.0
New features
    FFI_TYPE_VECTOR (SIMD) type support with libffi-computed layout, for aarch64 and
	x86-64 (#1000, closes #773).
    ffi_call_plan_size — report the total memory a reusable call plan owns, for
	embedders that account for the memory held by long-lived plans.
    powerpc64 ELFv2 _Complex long double support for both IBM-128 (double-double) and
	IEEE-128 formats (#1003, closes #1001).
Fixes
    powerpc64 big-endian ELFv2 closures returning 5-, 6-, or 7-byte structs: missing
	return jump-table entries produced a wrong result and leaked a libffi code
	pointer.
    ia64 return-value jump-table desync after the FFI_TYPE_LAST bump, which corrupted
	small-struct and HFA returns.
    powerpc Darwin closure returns broken by #951 (#1002).
    i386 FreeBSD/OpenBSD small structs now returned in registers (1, 2, 4, or 8 bytes),
	matching the platform ABI and fixing a segfault on struct returns through
	ffi_call and closures.
Performance
    Cache the static trampoline "unsupported" verdict on hosts whose page size exceeds
	the trampoline table mapping, avoiding redundant re-initialization on every
	closure allocation (e.g. 64K-page aarch64).

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/libffi | 2 +-
 lfs/libffi                     | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)
  

Patch

diff --git a/config/rootfiles/common/libffi b/config/rootfiles/common/libffi
index 3282b8113..41cc47b9e 100644
--- a/config/rootfiles/common/libffi
+++ b/config/rootfiles/common/libffi
@@ -4,7 +4,7 @@ 
 #usr/lib/libffi.la
 #usr/lib/libffi.so
 usr/lib/libffi.so.8
-usr/lib/libffi.so.8.4.1
+usr/lib/libffi.so.8.5.0
 #usr/lib/pkgconfig/libffi.pc
 #usr/share/info/libffi.info
 #usr/share/man/man3/ffi.3
diff --git a/lfs/libffi b/lfs/libffi
index 2cfdbc414..df8f5c3ac 100644
--- a/lfs/libffi
+++ b/lfs/libffi
@@ -24,7 +24,7 @@ 
 
 include Config
 
-VER        = 3.7.1
+VER        = 3.8.0
 
 THISAPP    = libffi-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 642741667d55aa2921fc250adea68eafd2519e786199fd2d0463a57ab6e830b51d97a361156bc2761d8c1bfecb9156ddc3147b6f81f4379bc054b98a29675526
+$(DL_FILE)_BLAKE2 = 589f87f79ea637dbddd00db3e320090f17855da5b1669a42b154f1c61bcafd1e8a964738d25b424c95ba5e148565df4b7379800ba42f40149c74d749f4f4b096
 
 install : $(TARGET)