Opened 3 weeks ago

Closed 2 weeks ago

#5993 closed enhancement (fixed)

libffi-3.8.0

Reported by: Bruce Dubbs Owned by: lfs-book
Priority: normal Milestone: 13.1
Component: Book Version: git
Severity: normal Keywords:
Cc:

Description

New minor version.

Change History (2)

comment:1 by Bruce Dubbs, 2 weeks ago

libffi 3.8.0

New features

  • FFI_TYPE_VECTOR (SIMD) type support with libffi-computed layout, for aarch64 and x86-64.
  • 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

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.
  • 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).

comment:2 by Bruce Dubbs, 2 weeks ago

Resolution: fixed
Status: newclosed

Fixed at commit 88e6ea998d.

    Update to iana-etc-20260805.
    Update to libffi-3.8.0.
    Update to linux-7.1.8.
    Update to meson-1.12.0.
    Update to procps-ng-4.0.7.
    Update to setuptools-84.0.0 (Python module).
    Update to shadow-4.20.2.
    Update to vim-9.2.0954.
    Update to wheel-0.48.0 (Python module).
Note: See TracTickets for help on using tickets.