From 1a0ad2bd504e2cfa88c714158ad7c78c03a376c2 Mon Sep 17 00:00:00 2001 From: Christoph Reiter Date: Thu, 13 Feb 2025 20:22:20 +0100 Subject: [PATCH] libffi: Update to 3.4.7 (#5210) --- libffi/PKGBUILD | 12 ++++-- ...fi64-calls-with-6-gp-and-some-sse-re.patch | 38 +++++++++++++++++++ 2 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 libffi/libffi-3.4.7-Revert-Fix-x86-ffi64-calls-with-6-gp-and-some-sse-re.patch diff --git a/libffi/PKGBUILD b/libffi/PKGBUILD index b932c6b6785..d05a59d2c94 100644 --- a/libffi/PKGBUILD +++ b/libffi/PKGBUILD @@ -2,7 +2,7 @@ pkgbase=libffi pkgname=('libffi' 'libffi-devel') -pkgver=3.4.6 +pkgver=3.4.7 pkgrel=1 pkgdesc="Portable, high level programming interface to various calling conventions" arch=('i686' 'x86_64') @@ -16,12 +16,18 @@ license=('MIT') depends=() checkdepends=('dejagnu') makedepends=('autotools' 'gcc') -source=(https://github.com/libffi/libffi/releases/download/v$pkgver/libffi-$pkgver.tar.gz) -sha256sums=('b0dea9df23c863a7a50e825440f3ebffabd65df1497108e5d437747843895a4e') +source=(https://github.com/libffi/libffi/releases/download/v$pkgver/libffi-$pkgver.tar.gz + libffi-3.4.7-Revert-Fix-x86-ffi64-calls-with-6-gp-and-some-sse-re.patch) +sha256sums=('138607dee268bdecf374adf9144c00e839e38541f75f24a1fcf18b78fda48b2d' + '4bdd412d13639c52993eb8e81a65764631d7cf2204d5e44201d232f760e61621') prepare() { cd ${pkgname}-${pkgver} + # https://lore.kernel.org/distributions/878qqettlj.fsf@gentoo.org/T/#u + # https://github.com/libffi/libffi/issues/879 + patch -Np1 -i ../libffi-3.4.7-Revert-Fix-x86-ffi64-calls-with-6-gp-and-some-sse-re.patch + autoreconf -vfi } diff --git a/libffi/libffi-3.4.7-Revert-Fix-x86-ffi64-calls-with-6-gp-and-some-sse-re.patch b/libffi/libffi-3.4.7-Revert-Fix-x86-ffi64-calls-with-6-gp-and-some-sse-re.patch new file mode 100644 index 00000000000..a8958b2fefd --- /dev/null +++ b/libffi/libffi-3.4.7-Revert-Fix-x86-ffi64-calls-with-6-gp-and-some-sse-re.patch @@ -0,0 +1,38 @@ +From 4354fe1434a37b781ff19f5a6be51ec4e982ad5a Mon Sep 17 00:00:00 2001 +Message-ID: <4354fe1434a37b781ff19f5a6be51ec4e982ad5a.1739062746.git.sam@gentoo.org> +From: Sam James +Date: Sun, 9 Feb 2025 00:54:28 +0000 +Subject: [PATCH] Revert "Fix x86/ffi64 calls with 6 gp and some sse registers + (#848)" + +This reverts commit d21881f55ed4a44d464c9091871e69b0bb47611a. + +Bug: https://github.com/libffi/libffi/issues/879 +Bug: https://bugs.gentoo.org/949051 +Signed-off-by: Sam James +--- a/src/x86/ffi64.c ++++ b/src/x86/ffi64.c +@@ -654,7 +654,7 @@ ffi_call_int (ffi_cif *cif, void (*fn)(void), void *rvalue, + break; + default: + reg_args->gpr[gprcount] = 0; +- memcpy (®_args->gpr[gprcount], a, sizeof(UINT64)); ++ memcpy (®_args->gpr[gprcount], a, size); + } + gprcount++; + break; +--- a/testsuite/libffi.call/struct_int_float.c ++++ b/testsuite/libffi.call/struct_int_float.c +@@ -5,6 +5,7 @@ + Originator: kellda */ + + /* { dg-do run } */ ++/* { dg-skip-if "libffi bug #879" { *-*-* } { "*" } } */ + #include "ffitest.h" + + typedef struct + +base-commit: 1716f81e9a115d340429504563bc8e7fb2eeef2b +-- +2.48.1 +