libffi: update to 3.4.8

As usual, the patchfile is derived from git differences, which no
longer include the now-upstream fix for the build problem on Sequoia.

As usual, there are many test failures, but 3.4.8 is roughly
comparable to 3.4.6 in this regard.

TESTED:
Tested -/+universal on 10.4-10.5 ppc, 10.5-10.6 ppc (i386 Rosetta),
10.4-10.6 i386, 10.4-12.x x86_64, and 11.x-15.x arm64.
This commit is contained in:
Fred Wright
2025-04-17 22:00:52 -04:00
committed by Renee Otten
parent ae6e0129a0
commit 313ed2317d
2 changed files with 14 additions and 52 deletions
+6 -12
View File
@@ -4,12 +4,12 @@ PortSystem 1.0
PortGroup muniversal 1.0
PortGroup github 1.0
github.setup libffi libffi 3.4.6 v
revision 2
github.setup libffi libffi 3.4.8 v
revision 0
checksums rmd160 8e927f6bc340564414a87cc5b6dffc9ce53eefd8 \
sha256 b0dea9df23c863a7a50e825440f3ebffabd65df1497108e5d437747843895a4e \
size 1391684
checksums rmd160 ea8558bf3afdf92f470859807a31c6dc78921d0e \
sha256 bc9842a18898bfacb0ed1252c4febcc7e78fa139fd27fdc7a3e30d9d9356119b \
size 1397992
github.tarball_from releases
categories devel
@@ -31,11 +31,7 @@ homepage https://www.sourceware.org/libffi/
# patch-sources.diff: fixes for various issues.
#
# This includes one upstream fix for a build problem on Sequoia. Although
# v3.4.7 includes this fix, it also has more test failures than v3.4.6,
# so for now we just cherry-pick the needed change.
#
# This diff is from v3.4.6 vs. macports-3.4.6r2.
# This diff is from v3.4.8 vs. macports-3.4.8.
#
patchfiles patch-sources.diff
@@ -65,8 +61,6 @@ platform darwin {
# target architecture to get the correct build. Merely providing the
# correct architecture options in xxFLAGS is insufficient.
#
# This is a more general fix than the former fix for 10.6/ppc/Rosetta
#
if { [variant_isset universal] } {
merger_arch_compiler yes
} else {
+8 -40
View File
@@ -1,37 +1,5 @@
--- src/aarch64/sysv.S.orig 2024-02-15 04:54:35.000000000 -0800
+++ src/aarch64/sysv.S 2025-04-06 16:16:17.000000000 -0700
@@ -89,8 +89,8 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN
x5 closure
*/
- cfi_startproc
CNAME(ffi_call_SYSV):
+ cfi_startproc
BTI_C
/* Sign the lr with x1 since that is where it will be stored */
SIGN_LR_WITH_REG(x1)
@@ -347,8 +347,8 @@ CNAME(ffi_closure_SYSV_V):
#endif
.align 4
- cfi_startproc
CNAME(ffi_closure_SYSV):
+ cfi_startproc
BTI_C
SIGN_LR
stp x29, x30, [sp, #-ffi_closure_SYSV_FS]!
@@ -643,8 +643,8 @@ CNAME(ffi_go_closure_SYSV_V):
#endif
.align 4
- cfi_startproc
CNAME(ffi_go_closure_SYSV):
+ cfi_startproc
BTI_C
stp x29, x30, [sp, #-ffi_closure_SYSV_FS]!
cfi_adjust_cfa_offset (ffi_closure_SYSV_FS)
--- src/powerpc/darwin.S.orig 2023-03-15 07:19:45.000000000 -0700
+++ src/powerpc/darwin.S 2025-04-06 16:16:17.000000000 -0700
--- src/powerpc/darwin.S.orig 2024-06-01 10:42:02.000000000 -0700
+++ src/powerpc/darwin.S 2025-04-17 11:40:54.000000000 -0700
@@ -31,8 +31,6 @@
#define MODE_CHOICE(x, y) x
#endif
@@ -41,8 +9,8 @@
; Define some pseudo-opcodes for size-independent load & store of GPRs ...
#define lgu MODE_CHOICE(lwzu, ldu)
#define lg MODE_CHOICE(lwz,ld)
--- src/powerpc/darwin_closure.S.orig 2023-03-15 07:19:45.000000000 -0700
+++ src/powerpc/darwin_closure.S 2025-04-06 16:16:17.000000000 -0700
--- src/powerpc/darwin_closure.S.orig 2024-06-01 10:42:02.000000000 -0700
+++ src/powerpc/darwin_closure.S 2025-04-17 11:40:54.000000000 -0700
@@ -34,7 +34,7 @@
#define MODE_CHOICE(x, y) x
#endif
@@ -52,8 +20,8 @@
; Define some pseudo-opcodes for size-independent load & store of GPRs ...
#define lgu MODE_CHOICE(lwzu, ldu)
--- testsuite/lib/libffi.exp.orig 2023-03-15 07:19:45.000000000 -0700
+++ testsuite/lib/libffi.exp 2025-04-06 16:16:17.000000000 -0700
--- testsuite/lib/libffi.exp.orig 2024-06-01 10:42:02.000000000 -0700
+++ testsuite/lib/libffi.exp 2025-04-17 11:40:54.000000000 -0700
@@ -516,7 +516,10 @@ proc run-many-tests { testcases extra_fl
}
}
@@ -66,8 +34,8 @@
if [info exists env(LIBFFI_TEST_OPTIMIZATION)] {
set optimizations [ list $env(LIBFFI_TEST_OPTIMIZATION) ]
} else {
--- testsuite/libffi.bhaible/bhaible.exp.orig 2023-03-15 07:19:45.000000000 -0700
+++ testsuite/libffi.bhaible/bhaible.exp 2025-04-06 16:16:17.000000000 -0700
--- testsuite/libffi.bhaible/bhaible.exp.orig 2024-06-01 10:42:02.000000000 -0700
+++ testsuite/libffi.bhaible/bhaible.exp 2025-04-17 11:40:54.000000000 -0700
@@ -24,7 +24,10 @@ global compiler_vendor
# was done in a pretty lazy fashion, and requires the use of compiler
# flags to disable warnings for now.