commit e2eda0cf72a0598b44278cc91860ea402273fa29
Author: Anthony Green <green@moxielogic.com>
Date:   Sat Aug 2 08:56:01 2025 +0200

    feat: Update libffi version to 3.5.2 with wasm64 and DragonFly BSD support

commit b53b0042c2637162ba8ea55f382264a0841359a7
Author: Anthony Green <green@moxielogic.com>
Date:   Sat Aug 2 08:52:25 2025 +0200

    Fix for systems without O_CLOEXEC

commit 20eacb22e9e9cdd6402cb75278dede2b36051e53
Author: Kohei Tokunaga <43872416+ktock@users.noreply.github.com>
Date:   Sat Aug 2 15:28:46 2025 +0900

    Emscripten: Add wasm64 target (#927)
    
    * src/wasm32: Allow building with Emscripten with 64bit support
    
    MEMORY64 enables 64bit pointers so this commit updates the accessors for the
    libffi data structures accordingly.
    
    Each JS functions in ffi.c receives pointers as BigInt (i64) values and with
    casts them to Numer (i53) using bigintToI53Checked. While memory64 supports
    64bit addressing, the maximum memory size is currently limited to 16GiB
    [1]. Therefore, we can assume that the passed pointers are within the
    Number's range.
    
    [1] https://webassembly.github.io/memory64/js-api/#limits
    
    Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
    
    * Add wasm64 target to the build scripts
    
    This commit adds support for the wasm64 target via the configure
    script. Emscripten supports two modes of the -sMEMORY64 flag[1] so the
    script allows users specifying the value through a configuration variable.
    
    Additionally, "src/wasm32" directory has been renamed to the more generic
    "src/wasm" because it's now shared between both 32bit and 64bit builds.
    
    [1] https://emscripten.org/docs/tools_reference/settings_reference.html#memory64
    
    Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
    
    * GitHub Actions: Add wasm64 tests
    
    This commit adds a test matrix for wasm32, wasm64 and wasm64 with the
    -sMEMORY64=2 flag, using the latest version of Emscripten. -Wno-main is
    added to suppress the following warning in unwindtest.cc and
    unwindtest_ffi_call.cc.
    
    > FAIL: libffi.closures/unwindtest_ffi_call.cc -W -Wall -O2 (test for excess errors)
    > Excess errors:
    > ./libffi.closures/unwindtest_ffi_call.cc:20:5: warning: 'main' should not be 'extern "C"' [-Wmain]
    >    20 | int main (void)
    >       |     ^
    > 1 warning generated.
    
    Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
    
    * testsuite: Fix types of main function
    
    test_libffi.py calls each test's main function without arguments, but some
    tests define the main function with parameters. This signature mismatch
    causes a runtime error with the recent version of Emscripten.
    
    This commit resolves this issue by updating the function signatures to match
    the way they are called.
    
    Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
    
    * README: Add document about WASM64
    
    Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
    
    ---------
    
    Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>

commit b7885ace59999564aec38c812156093cf0bfac02
Author: Weitian LI <liweitianux@live.com>
Date:   Sat Aug 2 14:27:51 2025 +0800

    fix: enable FFI_MMAP_EXEC_WRIT for DragonFly BSD (#930)
    
    Similar to PR #265 [1], we need to enable FFI_MMAP_EXEC_WRIT to use
    explicit write+exec mapping on DragonFly BSD.
    
    Without this fix, we were having segfaults with Meld [2]; it would crash
    with SIGSEGV after 5 diff operations.  The crash was caused by it
    attempting to execute code from non-execute memory region.  Moreover, if
    we set the `machdep.pmap_nx_enable=2` tunable (i.e., strict NX mode),
    Meld would crash upon the first diff operation.
    
    Fix the `configure.ac` script to enable `FFI_MMAP_EXEC_WRIT` for
    DragonFly BSD.  In addition, add it to the supported platforms table.
    
    [1] https://github.com/libffi/libffi/pull/265
    [2] https://meldmerge.org/

commit 60671187688ae3b295ab0e1dd77a8d6dd7a805a2
Author: Anthony Green <green@moxielogic.com>
Date:   Fri Jul 11 03:17:18 2025 -0400

    fix(tramp): ensure file descriptor is closed on exec.  Thanks to Florian Weimer.
    
    c# Please enter the commit message for your changes. Lines starting

commit d0f831bca60ea74b55a3155b929f195a971a3cac
Author: Anthony Green <green@moxielogic.com>
Date:   Sat Jun 21 16:05:31 2025 -0400

    feat: add QUESTION to .gail-labels

commit e28a0d5b0708ade04979e2a1d5c2a2d3acc749ec
Author: Anthony Green <green@moxielogic.com>
Date:   Tue Jun 10 16:17:58 2025 -0400

    ci: add fail-if-no-assets option in tarball workflow

commit 90220e51bcb2040d24b1f06581f0805a3091acda
Author: Anthony Green <green@moxielogic.com>
Date:   Tue Jun 10 16:03:47 2025 -0400

    Update version.

commit 330467d55c5f983d16cb2b03703a149db21d07ce
Author: Anthony Green <green@moxielogic.com>
Date:   Tue Jun 10 16:01:56 2025 -0400

    Move new symbols to new symbol versioning.

commit 517310ddbf7046a743af035ce61f2b304802bd00
Author: Anthony Green <green@moxielogic.com>
Date:   Mon Jun 9 19:03:49 2025 -0400

    ci: update compiler versions in github workflow

commit d994395ce74026f67b50957e6ce899e8ddbe5028
Author: Anthony Green <green@moxielogic.com>
Date:   Mon Jun 9 18:43:40 2025 -0400

    ci: update gcc version to 15 in build process

commit 26d7be77cc151acb458ef84f66859ef5300ce432
Author: Anthony Green <green@moxielogic.com>
Date:   Mon Jun 9 18:23:15 2025 -0400

    ci: update build.sh for Linux build process

commit a18d4e95d39d4b2b155abdea4ff1ac0006c12a6f
Author: Anthony Green <green@moxielogic.com>
Date:   Mon Jun 9 13:35:29 2025 -0400

    feat(.github/workflows): add step to wipe old snapshot assets in tarball.yml

commit b9b837855666636645bd3e00ce60d082ad8cc713
Author: Anthony Green <green@moxielogic.com>
Date:   Mon Jun 9 13:29:03 2025 -0400

    fix(github-actions): correct regex in version extraction

commit 7ac6f14591d174a314bf45a8b02d136525cd86f9
Author: Anthony Green <green@moxielogic.com>
Date:   Mon Jun 9 13:08:02 2025 -0400

    ci: change packages installed during workflow

commit ceab352dfa55745ab058a289e59faee925508d10
Author: Anthony Green <green@moxielogic.com>
Date:   Mon Jun 9 13:01:50 2025 -0400

    ci: add installation of necessary tools to tarball workflow

commit 1f73aa507ed8e8bc49864c99ff21d82dd454cb55
Author: Anthony Green <green@moxielogic.com>
Date:   Mon Jun 9 12:56:19 2025 -0400

    refactor(.github/workflows/tarball): remove repeated job blocks

commit 7f5375d7c75805d02f95516875107e9eb345ae8c
Author: Anthony Green <green@moxielogic.com>
Date:   Mon Jun 9 12:55:09 2025 -0400

    chore(workflows): update snapshot release description in tarball.yml

commit 2a5195bb2a633f7c9cc3b787d16ddb940c2a719d
Author: Anthony Green <green@moxielogic.com>
Date:   Mon Jun 9 12:54:55 2025 -0400

    chore(.github/workflows): update tarball.yml indentation

commit 2f535b8f747eea5c3336ecf20a3ecc9c0d523f62
Author: Anthony Green <green@moxielogic.com>
Date:   Mon Jun 9 12:52:43 2025 -0400

    chore(ci): update tarball workflow in GitHub Actions

commit 172bfb41f4f27cac939537e907106ef37abae701
Author: Anthony Green <green@moxielogic.com>
Date:   Mon Jun 9 12:22:35 2025 -0400

    chore(.github/workflows): update tarball workflow to use softprops/action-gh-release

commit 0947743f691bbd9d034a8ebe178ca8cb81e7fcd7
Author: Anthony Green <green@moxielogic.com>
Date:   Mon Jun 9 11:53:15 2025 -0400

    Make tarballs (#924)
    
    * Create tarballs in CI

commit a46977da5056cc7f23eee6db544d88cd5a88b9f4
Author: Kleis Auke Wolthuizen <github@kleisauke.nl>
Date:   Mon Jun 9 15:55:02 2025 +0200

    Downgrade Autoconf requirement to version 2.68 (#922)
    
    * Downgrade Autoconf requirement to version 2.68
    
    * CI: remove redundant Autoconf install scripts

commit 40a76827051bde95e20cc4edeba31a353c074321
Author: Anthony Green <green@moxielogic.com>
Date:   Mon Jun 9 09:49:00 2025 -0400

    Improve CI test coverage (#923)
    
    Add CI testing on Windows with both gcc and clang.

commit 64a42f618dcd555920756e84b0c8bfcec358c32e
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Jun 8 16:59:58 2025 -0400

    More CI testing (#921)
    
    * ci: add new build configuration in GitHub Actions
    
    * ci: add Windows clang build workflow
    
    * ci: add additional packages to GitHub workflows build
    
    * ci: optimize build workflow and improve commenting
    
    * ci: remove unused MSVC dev command from build workflow
    
    * ci: modify build workflow to support multiple compilers
    
    * build(github-actions): use matrix.compiler for CC and CXX variables

commit d2c78d2ebbd9e65401095c6a2f281fe5132f028b
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Jun 8 08:16:42 2025 -0400

    feat(testsuite): exclude wasm from pthreads testing in libffi

commit 668e2162e8185c007c3876c0de6723fb56aee0a1
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Jun 8 08:00:36 2025 -0400

    refactor(threads): don't run tests on windows

commit 5be311bed5e93305ed3f31bd29bcdcfe4baaa00c
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Jun 8 07:56:37 2025 -0400

    refactor: add POSIX barriers to libffi.threads testsuite

commit 70b34efece027faa843520709b300242e0526154
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Jun 8 07:53:00 2025 -0400

    feat(testsuite): add -lpthread flag for wasm32 targets

commit f530522ce48922178b25af9b5467cacc41c21de6
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Jun 8 07:52:25 2025 -0400

    chore: disable color diagnostics in libffi tests

commit 5fd812149e4740346341c1c9a8c355cc05f411c3
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Jun 8 07:47:04 2025 -0400

    chore: update documentation date and add test files to Makefile

commit a5d465029ce1ffce4860c75c2aa3fa0d1a8e18be
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Jun 8 07:40:39 2025 -0400

    feat(testsuite): add new threading tests to libffi test suite

commit 074c423f86b30fa895f391230bdbedf076053fa3
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Jun 8 07:30:54 2025 -0400

    feat: Add ffi_get_default_abi and ffi_get_closure_size functions

commit b14d43793a83aabe79cae4ac6a39b6183f25c8aa
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Jun 8 06:53:12 2025 -0400

    Update version

commit c8225fb03db49dfa04403a28091ab99b0998fffe
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Jun 8 06:51:58 2025 -0400

    chore: update libffi version to 3.5.0

commit cb424c6d41401bb93c59a553849d32c34bfff765
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Jun 8 06:50:47 2025 -0400

    docs: Update README with release details for version 3.5.0

commit 8b0eab28cb45c6862b30f5cadfc1a7fe996b072c
Author: JupiterRider <60042618+JupiterRider@users.noreply.github.com>
Date:   Sun Jun 8 12:16:38 2025 +0200

    Update License date and improve rcedit DLL metadata (#919)
    
    * rcedit add architecture and original filename
    
    * Update LICENSE to 2025

commit 8b30fe51d46ad29608d928c9920ca69f93394092
Author: Anthony Green <green@moxielogic.com>
Date:   Sat Jun 7 08:51:52 2025 -0400

    ci: add user configuration for DejaGNU tests in ppc64le container

commit 58f9179009b61ff563279fcd6ea489eda94b5260
Author: Anthony Green <green@moxielogic.com>
Date:   Sat Jun 7 08:48:41 2025 -0400

    ci: add diffutils and gawk to ppc64le container dependencies

commit d796b1ba066358f57e02a2337e3c1451ba900016
Author: Anthony Green <green@moxielogic.com>
Date:   Sat Jun 7 08:47:04 2025 -0400

    feat(.ci): add libtool to ppc64le container setup

commit 024cbc252c534419573ea775706c8b272e7159ef
Author: Anthony Green <green@moxielogic.com>
Date:   Sat Jun 7 08:35:15 2025 -0400

    feat(.ci): add Containerfile for ppc64le architecture

commit e3cbebffcc397ce2121a32887ffbc06070a3c024
Author: JupiterRider <60042618+JupiterRider@users.noreply.github.com>
Date:   Fri Jun 6 22:40:40 2025 +0200

    use rcedit to add metainfo to DLL (#918)
    
    * use rcedit to add metainfo to DLL
    
    * remove trailing backslash in build.yml
    
    * build.yml: add rcedit execute permission
    
    * build.yml: cd to the right directory

commit 9bb21f1d291235c7aa2627b1175b4a085858396c
Author: Anthony Green <green@moxielogic.com>
Date:   Fri Jun 6 13:48:25 2025 -0400

    fix: correct path in LDFLAGS line of build.yml workflow

commit c2ae66fc45dbfc18afe1244663bb5d97937c7976
Author: Anthony Green <green@moxielogic.com>
Date:   Fri Jun 6 13:41:56 2025 -0400

    fix(build): change version.o to version.obj in build.yml

commit d326a4c025a379ea590a9926a55bd39dcc8d9ae3
Author: Anthony Green <green@moxielogic.com>
Date:   Thu Jun 5 09:35:47 2025 -0400

    refactor: simplify versioning in .github/workflows/build.yml

commit d241e510196393c4ec8a7a8f1e456d2695802ff6
Author: Anthony Green <green@moxielogic.com>
Date:   Thu Jun 5 09:22:10 2025 -0400

    chore(build): update build script to use object file for versioning

commit c07b0c4ddc99d6be9d3d4fbe2c39ca86e9af4dc4
Author: Anthony Green <green@moxielogic.com>
Date:   Thu Jun 5 08:52:41 2025 -0400

    fix(github workflows): correct LDFLAGS path in build.yml

commit ec22d0fe7bd9db7629a7540a7ba12a2ec6a28889
Author: Anthony Green <green@moxielogic.com>
Date:   Thu Jun 5 08:44:36 2025 -0400

    build(.github/workflows): include build number in version info

commit e133ee847de50b710072aae1a478208c0a56c8f9
Author: Anthony Green <green@moxielogic.com>
Date:   Thu Jun 5 07:42:52 2025 -0400

    chore(build): add command to log version information in build script

commit c8d929fc45bae3192666c06b1c83e53afe7e639d
Author: Anthony Green <green@moxielogic.com>
Date:   Thu Jun 5 07:33:57 2025 -0400

    ci: add version logging in build workflow

commit d6029210d795258c99e0606753556060d233109e
Author: Anthony Green <green@moxielogic.com>
Date:   Thu Jun 5 07:11:43 2025 -0400

    ci: refactor version retrieval in build workflow

commit 49c70cab94981600b471a480048f497fccf03239
Author: Anthony Green <green@moxielogic.com>
Date:   Thu Jun 5 06:57:20 2025 -0400

    fix(build): correct variables for FILEVERSION and PRODUCTVERSION

commit 27f93a7038925797eaca6dea34375fd1b9909307
Author: Anthony Green <green@moxielogic.com>
Date:   Thu Jun 5 06:50:12 2025 -0400

    feat(build): add version information resource to build script and update documentation version

commit 1b6b176a289d923e7cf4c19f17eeadac67c5bd02
Author: Anthony Green <green@moxielogic.com>
Date:   Thu Jun 5 06:17:56 2025 -0400

    Update README.md to mention SH targets

commit bac99f2f3f3c7b368cd304d14188e473975e129f
Author: Anthony Green <green@moxielogic.com>
Date:   Thu Jun 5 06:12:10 2025 -0400

    Release candidate 1 for 3.5.0.  Windows build fixes. (#916)
    
    * refactor(ci): improve wget retry logic in .ci/install.sh
    
    * build(github-actions): use static runtime library in build
    
    * refactor(ffi.h.in): export version API
    
    * chore: update libffi version to 3.5.0-rc1

commit 3c54639eb81b68115f6ff3dcc562857d67d4136d
Author: Anthony Green <green@moxielogic.com>
Date:   Wed Jun 4 19:20:37 2025 -0400

    refactor(ci): improve wget retry logic in .ci/install.sh (#915)

commit d6b1f3423278f52cf01f4ddc24b432a0875fbb00
Author: Anthony Green <green@moxielogic.com>
Date:   Wed Jun 4 11:24:11 2025 -0400

    refactor: move and modify unix-noexec.exp and site.exp files

commit d38abaf9db7cb4f9ddd8a18083f0d1f86a8c3312
Author: Anthony Green <green@moxielogic.com>
Date:   Wed Jun 4 07:57:21 2025 -0400

    feat(testsuite): add Emscripten support to libffi.closures tests

commit 2d8868ace7419b377587adf6b63fb276411931dd
Author: Anthony Green <green@moxielogic.com>
Date:   Wed Jun 4 07:04:53 2025 -0400

    Update generate-darwin-source-and-headers.py (#914)

commit 5ad529fb0dabeec863bec8d6c5f6b3502b45d6c1
Author: Anthony Green <green@moxielogic.com>
Date:   Tue Jun 3 19:12:49 2025 -0400

    Many CI testing fixes and improvements. (#913)

commit 2529b40dbd9b5d1c5bff8123dfc7568635f5c900
Author: Anthony Green <green@moxielogic.com>
Date:   Mon Jun 2 20:42:47 2025 -0400

    chore: update version to 3.5.0-rc0 in documentation and configuration files

commit 3ee0dc41b681814e3789867d7d4ff31b6fd9ab99
Author: Anthony Green <green@moxielogic.com>
Date:   Mon Jun 2 20:41:27 2025 -0400

    chore: update version to 3.5.0-pre0 in version.texi

commit 55d84b0cb9e2561bfbbb4c8a7d3e731a45543c76
Author: Anthony Green <green@moxielogic.com>
Date:   Mon Jun 2 20:40:44 2025 -0400

    docs: update README with new libffi release information

commit 854ce7be85da6ab571b2f73390be20f57c5afc9b
Author: Anthony Green <green@moxielogic.com>
Date:   Mon Jun 2 20:18:46 2025 -0400

    Make 3.5.0-pre0 release. Build and publish Windows binaries. Clean up testing. (#912)
    
    This commit removes many platforms from the testing workflow.
    They will be added back in future commits.

commit 022929b1fc06082389862816f08308f222de9389
Author: JupiterRider <60042618+JupiterRider@users.noreply.github.com>
Date:   Sun Jun 1 13:30:51 2025 +0200

    doc now shows the correct calculation for version number (#911)

commit dcc9e93b8ab1990ae0b598d083e19b6c47eb89cc
Author: Anthony Green <green@moxielogic.com>
Date:   Wed May 28 14:32:02 2025 -0400

    Add Issue labeler Action

commit 9ee7341dbaec04d8c79685fb55703fc9453d0e55
Author: Anthony Green <green@moxielogic.com>
Date:   Mon May 26 08:19:32 2025 -0400

    feat(README): add details for next version release in history section

commit 4094362f545cdfe07f65b00c8c0db82b9b96b34b
Author: Anthony Green <green@moxielogic.com>
Date:   Mon May 26 08:19:15 2025 -0400

    refactor: enhance assembler pseudo-ops and compiler flag checking

commit be4e59e3990142905bb55ffe94950f0f2201cde5
Author: Anthony Green <green@moxielogic.com>
Date:   Mon May 26 08:19:00 2025 -0400

    chore: update version to 3.5.0 and libtool version to 10:0:2

commit dc9b1332f7b74513a24c87051fa8334e7b461074
Author: Anthony Green <green@moxielogic.com>
Date:   Mon May 26 08:18:40 2025 -0400

    chore: update Makefile.am configurations

commit c9a3a06f9be8f32da3eac132ff6754ec74feb42a
Author: Anthony Green <green@moxielogic.com>
Date:   Mon May 26 08:18:13 2025 -0400

    feat(libffi): upgrade to version 3.5.0 and add version API

commit 64d5e122f747c9b761b311f85cfc5d99c02fe959
Author: Anthony Green <green@moxielogic.com>
Date:   Sun May 25 16:09:59 2025 -0400

    docs: update required installations in README.md

commit 5b253476d10e12291e96671ff5bf275737928ffd
Author: Anthony Green <green@moxielogic.com>
Date:   Sun May 25 13:33:51 2025 -0400

    chore(testsuite): remove mingw64-align.c from Makefile and delete file

commit f9c60855da770a8465ad0fe7149ad86d1a6f900b
Author: Anthony Green <green@moxielogic.com>
Date:   Sat May 24 08:11:37 2025 -0400

    Add custom github issue labels for gail

commit c6f1610509d3d146017d6cc30020ce334bde8425
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Apr 27 08:59:12 2025 -0400

    feat(testsuite): add mingw64-align.c to test alignment in structs

commit 571177adcb2b604739a0432b7392f1b83294decf
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Apr 27 08:30:35 2025 -0400

    feat(testsuite): add longjmp test to Makefile and implement longjmp test code

commit 562cb53b5ddc97020291927d47823f210c5f3486
Author: David Tenty <daltenty@ibm.com>
Date:   Fri Apr 25 05:07:57 2025 -0400

    Add initializer (#904)

commit aea22de28ec92a69cab9198de479263fe8b1a637
Author: Peter Bergner <bergner@linux.ibm.com>
Date:   Fri Apr 18 10:09:45 2025 -0500

    powerpc: Fix closures on powerpc64-linux when statically linking (#900) (#902)
    
    Closures on powerpc64-linux using static trampolines do not work when
    statically linking libffi.  The problem is the usage of tramp_globals.text
    in libffi assumes it contains the entry point address of the first trampoline.
    Powerpc's ffi_tramp_arch code returns &trampoline_code_table which for ABIs
    that use function descriptors, ends up returning trampoline_code_table's
    function descriptor address instead of its entry point address.  Update
    the code to always return the entry point address for all ABIs.

commit a431b47822f06e3f16b2e16f3163fd209ac56b5f
Author: Sam James <sam@gentoo.org>
Date:   Tue Apr 15 10:30:27 2025 +0100

    pa: add .note.GNU-stack marker to linux.S (#899)
    
    Similarly to f515eac04cf8e5f594d5d9dee5fb7dfc3a186a4c, add a .note.GNU-stack
    marker to pa/linux.S as it doesn't need an executable stack. Absence of the
    note means that GNU Binutils will consider it as needing an executable stack
    and mark it as such automatically.
    
    When building libffi on HPPA with `-Wl,--warn-warn-execstack`, we get:
    ```
    ld: warning: src/pa/.libs/linux.o: missing .note.GNU-stack section implies executable stack
    ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
    ```
    
    That becomes more problematic with glibc-2.41 which forbids dlopen()
    of a library with an executable stack, and libffi is commonly dlopen()'d,
    especially by Python.
    
    I suspect the reason it didn't show up on Debian is that since February,
    Debian has been building Binutils with --disable-default-execstack.
    
    Bug: https://bugs.gentoo.org/953805
    Bug: https://github.com/libffi/libffi/issues/898

commit 6a99edb8082f75e523e0d6ebaba42218b80e10c8
Author: Sam James <sam@gentoo.org>
Date:   Thu Apr 10 03:44:45 2025 +0100

    testsuite: add two tests to Makefile.am (#893)
    
    * Add libffi.call/overread.c and libffi.call/x32.c to Makefile.am
      so they're included in dist tarballs
    
    * Fix indentation and rewrap

commit bfb5b005a08239c751db667f68a67aeb72a9b9ff
Author: Anthony Green <green@moxielogic.com>
Date:   Wed Apr 9 10:32:42 2025 -0400

    feat: Update version of libffi to 3.4.8 with various fixes and enhancements

commit 3429ed6b9414dfbe9d9da7609ab043291a01a148
Author: Peter Bergner <bergner@linux.ibm.com>
Date:   Tue Apr 8 05:52:37 2025 -0500

    powerpc: Add static trampoline support (#894) (#895)
    
    Add static trampoline support to all three powerpc Linux ABIs, specifically
    powerpc-linux (32-bit SYSV BE), powerpc64-linux (64-bit ELFv1 BE) and
    powerpc64le-linux (64-bit ELFv2 LE).  This follows the s390x implementation
    and does not introduce a ffi_closure_*_alt function, but rather jumps
    directly to the ffi_closure_* function itself.  If compiling with
    --with-gcc-arch=power10 and pc-relative is enabled, we use a simpler and
    smaller trampoline that utilizes Power10's new pc-relative load instructions.

commit bb1a84ed9772ee65e00762dab1c4ae50100d5a27
Author: mikulas-patocka <94898783+mikulas-patocka@users.noreply.github.com>
Date:   Sun Mar 30 12:07:59 2025 +0200

    Add the "ABI_ATTR" attribute to called functions (#891) (#892)
    
    I accidentally omitted the "ABI_ATTR" attribute, so that the testsuite
    fails when testing the Microsoft ABI.
    
    Fixes: fe203ffbb2bd ("Fix bugs in the x86-64 and x32 target (#887) (#889)")
    
    Signed-off-by: Mikulas Patocka <mikulas@twibright.com>

commit fe203ffbb2bd7f93a86013d341aa767a406150bc
Author: mikulas-patocka <94898783+mikulas-patocka@users.noreply.github.com>
Date:   Thu Mar 27 01:31:49 2025 +0100

    Fix bugs in the x86-64 and x32 target (#887) (#889)
    
    This commit fixes two bugs in ffi in the x86-64 target. The bugs were
    introduced by the commit d21881f55ed4a44d464c9091871e69b0bb47611a ("Fix
    x86/ffi64 calls with 6 gp and some sse registers").
    
    The first bug is that when we pass an argument with less than 8 bytes,
    ffi will read memory beyond argument end, causing a crash if the argument
    is located just before the end of the mapped region.
    
    The second bug is in the x32 ABI - pointers in x32 are 4-byte, but GCC
    assumes that the pointer values in the registers are zero-extended. ffi
    doesn't respect this assumption, causing crashes in the called library.
    
    For example, when we compile this function for x32:
    int fn(int *a)
    {
            if (a)
                    return *a;
            return -1;
    }
    we get this code:
    fn:
            testq   %rdi, %rdi
            je      .L3
            movl    (%edi), %eax
            ret
    .L3:
            movl    $-1, %eax
            ret
    When we call this function using ffi with the argument NULL, the function
    crashes because top 4 bytes of the RDI register are not cleared.
    
    
    Fixes: d21881f55ed4 ("Fix x86/ffi64 calls with 6 gp and some sse registers (#848)")
    
    Signed-off-by: Mikulas Patocka <mikulas@twibright.com>

commit cf69efabcaefcb6803f6cefd970741d10c17cec1
Author: Nikita Samusev <127026067+Nikitf777@users.noreply.github.com>
Date:   Sat Mar 8 14:41:02 2025 +0300

    Update the Simple Example to fix a compile error (#886)
    
    Fixes the following error:
    candidate function not viable: no known conversion from 'int (const char *)' to 'void (*)()' for 2nd argument

commit 89c99d738fd564da61b7ec70ab08fede475ba351
Author: fossdd <fossdd@pwned.life>
Date:   Fri Feb 28 22:10:10 2025 +0100

    MIPS: Dont import asm/sgidefs.h on linux (#885)
    
    Removed from Linux since Linux 3.7
    
    Ref: https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=61730c538f8281efa7ac12596da9f3f9a31b9272

commit 5ceddf4071e8bce3bdb20f8795d57d5ef0bc5503
Author: Bill Roberts <152999275+billatarm@users.noreply.github.com>
Date:   Thu Feb 20 04:25:21 2025 -0600

    aarch64: add PAC to GNU Notes (#882)
    
    While PAC was enabled, the bit to indicate support in the GNU Notes
    section of the ELF was missing.
    
    Before:
    readelf -n ./aarch64-unknown-linux-gnu/.libs/libffi.so
    
    Displaying notes found in: .note.gnu.property
      Owner                Data size        Description
      GNU                  0x00000010       NT_GNU_PROPERTY_TYPE_0
          Properties: AArch64 feature: BTI
    
    This was caused by this file not having PAC indicated in GNU Notes and
    the linker discarding it:
    File: ./aarch64-unknown-linux-gnu/src/aarch64/sysv.o
    
    Displaying notes found in: .note.gnu.property
      Owner                Data size        Description
      GNU                  0x00000010       NT_GNU_PROPERTY_TYPE_0
          Properties: AArch64 feature: BTI
    
    Now it has it:
    File: ./aarch64-unknown-linux-gnu/src/aarch64/sysv.o
    
    Displaying notes found in: .note.gnu.property
      Owner                Data size        Description
      GNU                  0x00000010       NT_GNU_PROPERTY_TYPE_0
          Properties: AArch64 feature: BTI, PAC
    
    As well as the output shared object:
    readelf -n ./aarch64-unknown-linux-gnu/.libs/libffi.so
    
    Displaying notes found in: .note.gnu.property
      Owner                Data size        Description
      GNU                  0x00000010       NT_GNU_PROPERTY_TYPE_0
          Properties: AArch64 feature: BTI, PAC
    
    Fixes: #881
    
    Signed-off-by: Bill Roberts <bill.roberts@arm.com>

commit 1716f81e9a115d340429504563bc8e7fb2eeef2b
Author: Anthony Green <green@moxielogic.com>
Date:   Sat Feb 8 11:32:05 2025 -0500

    feat: remove nios2 support
    
    Acked-by: Anthony Green <green@moxielogic.com>

commit 252c0f463641e6100169c3f0a4a590d7df438278
Author: Anthony Green <green@moxielogic.com>
Date:   Sat Feb 8 09:37:31 2025 -0500

    chore: Bump version to 3.4.7 and update change log

commit adfe4489c17b542216a502efaaf6b0156e2197ab
Author: Kleis Auke Wolthuizen <github@kleisauke.nl>
Date:   Fri Jan 31 21:41:56 2025 +0100

    Emscripten: remove support for `-sWASM_BIGINT=0` (#874)
    
    * Emscripten: cleanup
    
    * Emscripten: remove support for `-sWASM_BIGINT=0`
    
    * Emscripten: remove redundant CircleCI config
    
    * Emscripten: modernize CI
    
    * Ensure test helper methods are static
    
    Similar to #644.
    
    * Fix test failures in `cls_multi_{s,u}shortchar`

commit 2f34cf639cab60123a7725fc9488657766ba665d
Author: Matthew Flatt <mflatt@cs.utah.edu>
Date:   Fri Jan 31 13:40:40 2025 -0700

    x86 Darwin returns structs of size 1, 2, 4, and 8 in registers (#876)

commit a0d8074a672312dbc757320d8bc42e39aa5b3d9a
Author: zye2-sc <140619768+zye2-sc@users.noreply.github.com>
Date:   Fri Jan 31 21:40:00 2025 +0100

    Disable go closures on Android (#877)
    
    * x18 register shouldn't be used on Android due to the shadow call stack feature in llvm
    * https://source.android.com/docs/security/test/shadow-call-stack

commit d77b9fefa25f7f11dcc4e6380c661c4cf2960a85
Author: 杨萧玉 <yulingtianxia@users.noreply.github.com>
Date:   Fri Dec 13 18:38:01 2024 +0800

    Fix config.sub on Apple platforms (#860)
    
    * update config.sub
    
    * update config.sub

commit 593cb01a46e63d5361f2df803947cb657bb4e822
Author: Satadru Pramanik, DO, MPH, MEng <satadru@gmail.com>
Date:   Fri Dec 13 05:37:15 2024 -0500

    Add mold linker to linker checks. (#866)
    
    Signed-off-by: Satadru Pramanik <satadru@gmail.com>

commit f515eac04cf8e5f594d5d9dee5fb7dfc3a186a4c
Author: Icenowy Zheng <uwu@icenowy.me>
Date:   Fri Dec 13 18:36:02 2024 +0800

    MIPS: add .note.GNU-stack section to assembly sources (#872)
    
    To build ELF shared libraries that do not require executable stack on
    MIPS, every object file linked should have a .note.GNU-stack section,
    otherwise the linker defaults to executable stack.
    
    As libffi shouldn't require executable stack, add the .note.GNU-stack
    section to the assembly source files under src/mips, like other
    architectures.
    
    Signed-off-by: Icenowy Zheng <uwu@icenowy.me>

commit 458b2ae2829f1916ea3a3e07c944b4668732290f
Author: Eddy S. <fneddy@users.noreply.github.com>
Date:   Sat Nov 16 13:03:24 2024 +0100

    Add static trampoline support for s390 (#862)
    
    * added static trampoline support for s390
    
    * enable static tramp only for  s390x 64bit

commit 0859f8431242d5adff21420b9cab538d2af527b5
Author: Joseph Myers <jsm@polyomino.org.uk>
Date:   Thu Oct 24 18:26:58 2024 +0000

    Fix testsuite for C23 `va_start` (#861)
    
    In the C23 revision of the C standard, `va_start` ignores its second
    argument, which is no longer required (previously the last named
    function parameter - which the compiler knows anyway, so it's
    redundant information).
    
    This has the consequence for the libffi testsuite, when making GCC
    default to `-std=gnu23`, of making two tests fail with warnings about
    an unused function argument (only passed to `va_start` and not
    otherwise used).  Fix those test failures by explicitly casting the
    argument to `void`.

commit 8308bed5b2423878aa20d7884a99cf2e30b8daf7
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi@google.com>
Date:   Fri Sep 20 06:01:23 2024 -0400

    Move cfi_startproc after CNAME(label) (#857)
    
    This is a fix for https://github.com/libffi/libffi/issues/852: error: invalid CFI advance_loc expression on apple targets.
    
    The CFI for darwin arm64 was broken because the CNAME macro was being used after the
    cfi_startproc macro.

commit 01db744b4af8665f9b7494d00cc2a1cc45ee9636
Author: KJ Tsanaktsidis <kj@kjtsanaktsidis.id.au>
Date:   Fri Sep 20 20:00:49 2024 +1000

    Disable ASAN in ffi_call_int functions (#858)
    
    The pattern for several of the architectures is for ffi_call_int to
    stack-allocate some arguments + the registers, and then
    ffi_call_$ARCH will pop the top of that structure into registers, and
    then adjust the stack pointer such that the alloca'd buffer _becomes_
    the stack-passed arguments for the function being called.
    
    If libffi is compiled with ASAN, then there will be a redzone inserted
    after the alloca'd buffer which is marked as poisoned. This redzone
    appears beyond the end of $sp upon entry to the called function.
    
    If the called function does anything to use this stack memory, ASAN will
    notice that it's poisoned and report an error.
    
    This commit fixes the situation (on the architectures that I have access
    to) disabling instrumentation for ffi_call_int; that means there will be
    no alloca redzone left on the shadow-stack.

commit f7e4992789fa563b4cc74521c37ff703555da21c
Author: Sam James <sam@cmpct.info>
Date:   Fri Sep 20 10:58:06 2024 +0100

    testsuite: fix dejagnu directive typo (#859)

commit 084f36903f56b280283f3f4473a80b8e77727a29
Merge: 92d384d 348e70e
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Sep 15 12:32:58 2024 -0400

    Merge remote-tracking branch 'refs/remotes/origin/master'

commit 92d384df196a099fde384f9178864dbfe8c6b0fc
Author: Anthony Green <green@moxielogic.com>
Date:   Sun Sep 15 12:32:29 2024 -0400

    Fix floating point compare

commit 348e70ef1c785b85e194e47d47b7c4c2b1cec861
Author: Richard Barnes <rbarnes@umn.edu>
Date:   Sun Sep 15 07:39:51 2024 -0400

    Suppress unused variable warning in dlmalloc.c (#843)
    
    Allows `-Wunused-but-set-variable` to pass

commit 30e887f84e70c16df5c421983f074d07a93b4e58
Author: Yuriy Kolerov <ykolerov@synopsys.com>
Date:   Sun Sep 15 14:39:01 2024 +0300

    A series of fixes for ARC port (#844)
    
    * arc: Fix warnings
    
    These warnings are fixed:
    
    1. A series of "unused variables".
    2. Implicit conversion from a pointer to uint32_t.
    
    Signed-off-by: Yuriy Kolerov <ykolerov@synopsys.com>
    
    * arc: Do not use mov_s and movl_s instructions
    
    mov_s and movl_s instructions use a restricted set of registers.
    However, a list of available registers for such instructions for
    one ARC target may not match a list for another ARC targets. For
    example, it is applicable to ARC700 and ARC HS3x/4x - build
    fails because mov_s formats may be incompatible in some cases.
    
    The easiest and the most straightforward way to fix this issue
    is to use mov and movl instead of mov_s and movl_s.
    
    Signed-off-by: Yuriy Kolerov <ykolerov@synopsys.com>
    
    ---------
    
    Signed-off-by: Yuriy Kolerov <ykolerov@synopsys.com>

commit 377a13696928aabc6f0df378ecd25437a1ff1d17
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Sun Sep 15 07:38:22 2024 -0400

    Bump actions/download-artifact from 3 to 4.1.7 in /.github/workflows (#856)
    
    Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.1.7.
    - [Release notes](https://github.com/actions/download-artifact/releases)
    - [Commits](https://github.com/actions/download-artifact/compare/v3...v4.1.7)
    
    ---
    updated-dependencies:
    - dependency-name: actions/download-artifact
      dependency-type: direct:production
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
