From: Richard Purdie Date: Sun, 9 Aug 2026 05:49:04 +0000 (+0000) Subject: libffi: upgrade 3.7.1 -> 3.8.0 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1ff21abe7d69aa1f94966b2f9e871397c4033872;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git libffi: upgrade 3.7.1 -> 3.8.0 3.8.0 August-8-2026 Add FFI_TYPE_VECTOR (SIMD) type support with libffi-computed layout, for aarch64 and x86-64 (#1000, closes #773). Add ffi_call_plan_size to report the total memory a reusable call plan owns, for embedders that account for the memory held by long-lived plans. Add powerpc64 ELFv2 _Complex long double support for both IBM-128 (double-double) and IEEE-128 formats (#1003, closes #1001). Fix 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. Fix ia64 return-value jump-table desync after the FFI_TYPE_LAST bump, which corrupted small-struct and HFA returns. Fix powerpc Darwin closure returns broken by #951 (#1002). Return small (1, 2, 4 or 8 byte) structs in registers on the i386 FreeBSD and OpenBSD targets, matching the platform ABI and fixing a segfault on struct returns through ffi_call and closures. Cache the static trampoline "unsupported" result 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: Richard Purdie --- diff --git a/meta/recipes-support/libffi/libffi/not-win32.patch b/meta/recipes-support/libffi/libffi/not-win32.patch index 1f77db2fe0..8808f502fb 100644 --- a/meta/recipes-support/libffi/libffi/not-win32.patch +++ b/meta/recipes-support/libffi/libffi/not-win32.patch @@ -1,4 +1,4 @@ -From 3b0ec51416b341cdb681796bd52dfe86d0d9bea0 Mon Sep 17 00:00:00 2001 +From 4f0da02754f86ec1aa38b2207872386b19605ec1 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Thu, 4 Feb 2016 16:22:50 +0000 Subject: [PATCH] libffi: ensure sysroot paths are not in libffi.pc @@ -20,7 +20,7 @@ Signed-off-by: Ross Burton 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 3370acc..2f96c6f 100644 +index 826b453..54a41d8 100644 --- a/configure.ac +++ b/configure.ac @@ -429,7 +429,7 @@ AC_ARG_ENABLE(multi-os-directory, diff --git a/meta/recipes-support/libffi/libffi_3.7.1.bb b/meta/recipes-support/libffi/libffi_3.8.0.bb similarity index 94% rename from meta/recipes-support/libffi/libffi_3.7.1.bb rename to meta/recipes-support/libffi/libffi_3.8.0.bb index e9afb7eb7c..583b143157 100644 --- a/meta/recipes-support/libffi/libffi_3.7.1.bb +++ b/meta/recipes-support/libffi/libffi_3.8.0.bb @@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=5e9a8df556846bb3d1edec0d968a2311" SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BPN}-${PV}.tar.gz \ file://not-win32.patch \ " -SRC_URI[sha256sum] = "d5e9a6638ddbd2513ddb54518eb67e4bbe6fa707bcc01c10f6212f0a088d819d" +SRC_URI[sha256sum] = "7da3e2d9a171eb0a038f592ecad3ff2bb2550f3496d87b3b29ad0cf4430c0db4" EXTRA_OECONF = "--disable-builddir" EXTRA_OECONF:class-native += "--with-gcc-arch=generic"