Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
5ceddf4
aarch64: add PAC to GNU Notes (#882)
billatarm Feb 20, 2025
89c99d7
MIPS: Dont import asm/sgidefs.h on linux (#885)
fossdd Feb 28, 2025
cf69efa
Update the Simple Example to fix a compile error (#886)
Nikitf777 Mar 8, 2025
fe203ff
Fix bugs in the x86-64 and x32 target (#887) (#889)
mikulas-patocka Mar 27, 2025
bb1a84e
Add the "ABI_ATTR" attribute to called functions (#891) (#892)
mikulas-patocka Mar 30, 2025
3429ed6
powerpc: Add static trampoline support (#894) (#895)
Apr 8, 2025
bfb5b00
feat: Update version of libffi to 3.4.8 with various fixes and enhanc…
atgreen Apr 9, 2025
6a99edb
testsuite: add two tests to Makefile.am (#893)
thesamesam Apr 10, 2025
a431b47
pa: add .note.GNU-stack marker to linux.S (#899)
thesamesam Apr 15, 2025
aea22de
powerpc: Fix closures on powerpc64-linux when statically linking (#90…
Apr 18, 2025
562cb53
Add initializer (#904)
daltenty Apr 25, 2025
571177a
feat(testsuite): add longjmp test to Makefile and implement longjmp t…
atgreen Apr 27, 2025
c6f1610
feat(testsuite): add mingw64-align.c to test alignment in structs
atgreen Apr 27, 2025
f9c6085
Add custom github issue labels for gail
atgreen May 24, 2025
5b25347
chore(testsuite): remove mingw64-align.c from Makefile and delete file
atgreen May 25, 2025
64d5e12
docs: update required installations in README.md
atgreen May 25, 2025
c9a3a06
feat(libffi): upgrade to version 3.5.0 and add version API
atgreen May 26, 2025
dc9b133
chore: update Makefile.am configurations
atgreen May 26, 2025
be4e59e
chore: update version to 3.5.0 and libtool version to 10:0:2
atgreen May 26, 2025
4094362
refactor: enhance assembler pseudo-ops and compiler flag checking
atgreen May 26, 2025
9ee7341
feat(README): add details for next version release in history section
atgreen May 26, 2025
dcc9e93
Add Issue labeler Action
atgreen May 28, 2025
022929b
doc now shows the correct calculation for version number (#911)
JupiterRider Jun 1, 2025
854ce7b
Make 3.5.0-pre0 release. Build and publish Windows binaries. Clean up…
atgreen Jun 3, 2025
55d84b0
docs: update README with new libffi release information
atgreen Jun 3, 2025
3ee0dc4
chore: update version to 3.5.0-pre0 in version.texi
atgreen Jun 3, 2025
2529b40
chore: update version to 3.5.0-rc0 in documentation and configuration…
atgreen Jun 3, 2025
5ad529f
Many CI testing fixes and improvements. (#913)
atgreen Jun 3, 2025
2d8868a
Update generate-darwin-source-and-headers.py (#914)
atgreen Jun 4, 2025
d38abaf
feat(testsuite): add Emscripten support to libffi.closures tests
atgreen Jun 4, 2025
d6b1f34
refactor: move and modify unix-noexec.exp and site.exp files
atgreen Jun 4, 2025
3c54639
refactor(ci): improve wget retry logic in .ci/install.sh (#915)
atgreen Jun 4, 2025
bac99f2
Release candidate 1 for 3.5.0. Windows build fixes. (#916)
atgreen Jun 5, 2025
1b6b176
Update README.md to mention SH targets
atgreen Jun 5, 2025
27f93a7
feat(build): add version information resource to build script and upd…
atgreen Jun 5, 2025
49c70ca
fix(build): correct variables for FILEVERSION and PRODUCTVERSION
atgreen Jun 5, 2025
d602921
ci: refactor version retrieval in build workflow
atgreen Jun 5, 2025
c8d929f
ci: add version logging in build workflow
atgreen Jun 5, 2025
e133ee8
chore(build): add command to log version information in build script
atgreen Jun 5, 2025
ec22d0f
build(.github/workflows): include build number in version info
atgreen Jun 5, 2025
c07b0c4
fix(github workflows): correct LDFLAGS path in build.yml
atgreen Jun 5, 2025
d241e51
chore(build): update build script to use object file for versioning
atgreen Jun 5, 2025
d326a4c
refactor: simplify versioning in .github/workflows/build.yml
atgreen Jun 5, 2025
c2ae66f
fix(build): change version.o to version.obj in build.yml
atgreen Jun 6, 2025
9bb21f1
fix: correct path in LDFLAGS line of build.yml workflow
atgreen Jun 6, 2025
e3cbebf
use rcedit to add metainfo to DLL (#918)
JupiterRider Jun 6, 2025
024cbc2
feat(.ci): add Containerfile for ppc64le architecture
atgreen Jun 7, 2025
d796b1b
feat(.ci): add libtool to ppc64le container setup
atgreen Jun 7, 2025
58f9179
ci: add diffutils and gawk to ppc64le container dependencies
atgreen Jun 7, 2025
8b30fe5
ci: add user configuration for DejaGNU tests in ppc64le container
atgreen Jun 7, 2025
8b0eab2
Update License date and improve rcedit DLL metadata (#919)
JupiterRider Jun 8, 2025
cb424c6
docs: Update README with release details for version 3.5.0
atgreen Jun 8, 2025
c8225fb
chore: update libffi version to 3.5.0
atgreen Jun 8, 2025
b14d437
Update version
atgreen Jun 8, 2025
074c423
feat: Add ffi_get_default_abi and ffi_get_closure_size functions
atgreen Jun 8, 2025
a5d4650
feat(testsuite): add new threading tests to libffi test suite
atgreen Jun 8, 2025
5fd8121
chore: update documentation date and add test files to Makefile
atgreen Jun 8, 2025
f530522
chore: disable color diagnostics in libffi tests
atgreen Jun 8, 2025
70b34ef
feat(testsuite): add -lpthread flag for wasm32 targets
atgreen Jun 8, 2025
5be311b
refactor: add POSIX barriers to libffi.threads testsuite
atgreen Jun 8, 2025
668e216
refactor(threads): don't run tests on windows
atgreen Jun 8, 2025
d2c78d2
feat(testsuite): exclude wasm from pthreads testing in libffi
atgreen Jun 8, 2025
64a42f6
More CI testing (#921)
atgreen Jun 8, 2025
40a7682
Improve CI test coverage (#923)
atgreen Jun 9, 2025
a46977d
Downgrade Autoconf requirement to version 2.68 (#922)
kleisauke Jun 9, 2025
0947743
Make tarballs (#924)
atgreen Jun 9, 2025
172bfb4
chore(.github/workflows): update tarball workflow to use softprops/ac…
atgreen Jun 9, 2025
2f535b8
chore(ci): update tarball workflow in GitHub Actions
atgreen Jun 9, 2025
2a5195b
chore(.github/workflows): update tarball.yml indentation
atgreen Jun 9, 2025
7f5375d
chore(workflows): update snapshot release description in tarball.yml
atgreen Jun 9, 2025
1f73aa5
refactor(.github/workflows/tarball): remove repeated job blocks
atgreen Jun 9, 2025
ceab352
ci: add installation of necessary tools to tarball workflow
atgreen Jun 9, 2025
7ac6f14
ci: change packages installed during workflow
atgreen Jun 9, 2025
b9b8378
fix(github-actions): correct regex in version extraction
atgreen Jun 9, 2025
a18d4e9
feat(.github/workflows): add step to wipe old snapshot assets in tarb…
atgreen Jun 9, 2025
26d7be7
ci: update build.sh for Linux build process
atgreen Jun 9, 2025
d994395
ci: update gcc version to 15 in build process
atgreen Jun 9, 2025
517310d
ci: update compiler versions in github workflow
atgreen Jun 9, 2025
330467d
Move new symbols to new symbol versioning.
atgreen Jun 10, 2025
90220e5
Update version.
atgreen Jun 10, 2025
e28a0d5
ci: add fail-if-no-assets option in tarball workflow
atgreen Jun 10, 2025
d0f831b
feat: add QUESTION to .gail-labels
atgreen Jun 21, 2025
6067118
fix(tramp): ensure file descriptor is closed on exec. Thanks to Flor…
atgreen Jul 11, 2025
b7885ac
fix: enable FFI_MMAP_EXEC_WRIT for DragonFly BSD (#930)
liweitianux Aug 2, 2025
20eacb2
Emscripten: Add wasm64 target (#927)
ktock Aug 2, 2025
b53b004
Fix for systems without O_CLOEXEC
atgreen Aug 2, 2025
e2eda0c
feat: Update libffi version to 3.5.2 with wasm64 and DragonFly BSD su…
atgreen Aug 2, 2025
aedfb94
Merge commit 'e2eda0cf72a0598b44278cc91860ea402273fa29' into HEAD
HertzDevil Oct 8, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 0 additions & 84 deletions .appveyor.yml

This file was deleted.

16 changes: 0 additions & 16 deletions .appveyor/site.exp

This file was deleted.

12 changes: 12 additions & 0 deletions .ci/Containerfile.ppc64le
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
FROM ppc64le/fedora

RUN dnf install -y dejagnu automake autoconf dejagnu texinfo gcc libtool diffutils gawk

# -----------------------------------------------------------------------------
# Give UID 10000 a name so ‘whoami’ works during DejaGNU tests
# -----------------------------------------------------------------------------
RUN groupadd -g 10000 builder \
&& useradd -u 10000 -g 10000 -d /home/builder -s /sbin/nologin builder \
&& mkdir -p /home/builder \
&& chown 10000:10000 /home/builder
USER 10000
71 changes: 38 additions & 33 deletions .ci/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,22 @@ fi

export DOCKER=docker

if ! command -v makeinfo >/dev/null 2>&1; then
CONFIGURE_OPTIONS="--disable-docs ${CONFIGURE_OPTIONS}"
fi

function build_linux()
{
./autogen.sh
./configure ${HOST+--host=$HOST} ${CONFIGURE_OPTIONS} || cat */config.log
ls -l */config.log
cat */config.log
make
make dist
DEJAGNU=$(pwd)/.ci/site.exp BOARDSDIR=$(pwd)/.ci runtest --version
DEJAGNU=$(pwd)/.ci/site.exp BOARDSDIR=$(pwd)/.ci make check RUNTESTFLAGS="-a $RUNTESTFLAGS"

./rlgl l --key=${RLGL_KEY} https://rl.gl
./rlgl e -l project=libffi -l sha=${GITHUB_SHA:0:7} -l CC='$CC' ${HOST+-l host=$HOST} --policy=https://github.com/libffi/rlgl-policy.git */testsuite/libffi.log
./rlgl e -l project=libffi -l sha=${GITHUB_SHA:0:7} -l CC='${CC}' ${HOST+-l host=$HOST} --policy=https://github.com/libffi/rlgl-policy.git */testsuite/libffi.log
exit $?
}

Expand Down Expand Up @@ -62,7 +67,7 @@ function build_cross()
function build_ios()
{
which python
# export PYTHON_BIN=/usr/local/bin/python
# export PYTHON_BIN=/usr/local/bin/python
./generate-darwin-source-and-headers.py --only-ios
xcodebuild -showsdks
xcodebuild -project libffi.xcodeproj -target "libffi-iOS" -configuration Release -sdk iphoneos11.4
Expand All @@ -72,7 +77,7 @@ function build_ios()
function build_macosx()
{
which python
# export PYTHON_BIN=/usr/local/bin/python
# export PYTHON_BIN=/usr/local/bin/python
./generate-darwin-source-and-headers.py --only-osx
xcodebuild -showsdks
xcodebuild -project libffi.xcodeproj -target "libffi-Mac" -configuration Release -sdk macosx10.13
Expand All @@ -82,43 +87,43 @@ function build_macosx()

case "$HOST" in
arm-apple-darwin*)
./autogen.sh
build_ios
;;
./autogen.sh
build_ios
;;
x86_64-apple-darwin*)
./autogen.sh
build_macosx
;;
./autogen.sh
build_macosx
;;
arm32v7-linux-gnu)
./autogen.sh
./autogen.sh
build_foreign_linux arm quay.io/moxielogic/arm32v7-ci-build-container:latest
;;
;;
bfin-elf )
./autogen.sh
GCC_OPTIONS=-msim build_cross
;;
./autogen.sh
GCC_OPTIONS=-msim build_cross
;;
m32r-elf )
./autogen.sh
build_cross
;;
./autogen.sh
build_cross
;;
or1k-elf )
./autogen.sh
build_cross
;;
./autogen.sh
build_cross
;;
powerpc-eabisim )
./autogen.sh
build_cross
;;
./autogen.sh
build_cross
;;
m68k-linux-gnu )
./autogen.sh
GCC_OPTIONS=-mcpu=547x build_cross_linux
;;
./autogen.sh
GCC_OPTIONS=-mcpu=547x build_cross_linux
;;
alpha-linux-gnu | sh4-linux-gnu )
./autogen.sh
build_cross_linux
;;
./autogen.sh
build_cross_linux
;;
*)
./autogen.sh
build_linux
;;
./autogen.sh
build_linux
;;
esac
96 changes: 46 additions & 50 deletions .ci/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,73 +6,69 @@ if [[ $RUNNER_OS != 'Linux' ]]; then
# brew update > brew-update.log 2>&1
# fix an issue with libtool on travis by reinstalling it
brew uninstall libtool;
brew install automake libtool dejagnu;
brew install automake libtool dejagnu gcc@15;

# Download and extract the rlgl client
wget -qO - https://rl.gl/cli/rlgl-darwin-amd64.tgz | \
tar --strip-components=2 -xvzf - ./rlgl/rlgl;
tar --strip-components=2 -xvzf - ./rlgl/rlgl;

else
# Download and extract the rlgl client
case $HOST in
aarch64-linux-gnu)
wget -qO - https://rl.gl/cli/rlgl-linux-arm.tgz | \
tar --strip-components=2 -xvzf - ./rlgl/rlgl;
;;
ppc64le-linux-gnu)
wget -qO - https://rl.gl/cli/rlgl-linux-ppc64le.tgz | \
tar --strip-components=2 -xvzf - ./rlgl/rlgl;
;;
s390x-linux-gnu)
wget -qO - https://rl.gl/cli/rlgl-linux-s390x.tgz | \
tar --strip-components=2 -xvzf - ./rlgl/rlgl;
;;
*)
wget -qO - https://rl.gl/cli/rlgl-linux-amd64.tgz | \
tar --strip-components=2 -xvzf - ./rlgl/rlgl;
;;
aarch64-*linux-gnu)
wget -qO - https://rl.gl/cli/rlgl-linux-arm.tgz | \
tar --strip-components=2 -xvzf - ./rlgl/rlgl;
;;
ppc64le-linux-gnu)
wget -qO - https://rl.gl/cli/rlgl-linux-ppc64le.tgz | \
tar --strip-components=2 -xvzf - ./rlgl/rlgl;
;;
s390x-linux-gnu)
wget -qO - https://rl.gl/cli/rlgl-linux-s390x.tgz | \
tar --strip-components=2 -xvzf - ./rlgl/rlgl;
;;
*)
wget -qO - https://rl.gl/cli/rlgl-linux-amd64.tgz | \
tar --strip-components=2 -xvzf - ./rlgl/rlgl;
;;
esac

sudo apt-get clean # clear the cache
sudo apt-get update

set -x
wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -t 0 -qO - https://ftpmirror.gnu.org/autoconf/autoconf-2.71.tar.gz | tar -xvzf -
mkdir -p ~/i
(cd autoconf-2.71; ./configure --prefix=$HOME/i; make; make install)
sudo apt install libltdl-dev zip

case $HOST in
mips64el-linux-gnu | sparc64-linux-gnu)
mips64el-linux-gnu | sparc64-linux-gnu)
;;
alpha-linux-gnu | arm32v7-linux-gnu | m68k-linux-gnu | sh4-linux-gnu)
sudo apt-get install qemu-user-static
;;
hppa-linux-gnu )
sudo apt-get install -y qemu-user-static g++-5-hppa-linux-gnu
;;
i386-pc-linux-gnu)
sudo apt-get install gcc-multilib g++-multilib;
;;
moxie-elf)
echo 'deb [trusted=yes] https://repos.moxielogic.org:7114/MoxieLogic moxiedev main' | sudo tee -a /etc/apt/sources.list
sudo apt-get clean # clear the cache
sudo apt-get update ## -qq
sudo apt-get update
sudo apt-get install -y --allow-unauthenticated moxielogic-moxie-elf-gcc moxielogic-moxie-elf-gcc-c++ moxielogic-moxie-elf-gcc-libstdc++ moxielogic-moxie-elf-gdb-sim texinfo sharutils texlive dejagnu
;;
x86_64-w64-mingw32)
sudo apt-get install gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 wine;
;;
i686-w32-mingw32)
sudo apt-get install gcc-mingw-w64-i686 g++-mingw-w64-i686 wine;
;;
alpha-linux-gnu | arm32v7-linux-gnu | m68k-linux-gnu | sh4-linux-gnu)
sudo apt-get install qemu-user-static
;;
hppa-linux-gnu )
sudo apt-get install -y qemu-user-static g++-5-hppa-linux-gnu
;;
i386-pc-linux-gnu)
sudo apt-get install gcc-multilib g++-multilib;
;;
moxie-elf)
echo 'deb [trusted=yes] https://repos.moxielogic.org:7114/MoxieLogic moxiedev main' | sudo tee -a /etc/apt/sources.list
sudo apt-get clean # clear the cache
sudo apt-get update ## -qq
sudo apt-get update
sudo apt-get install -y --allow-unauthenticated moxielogic-moxie-elf-gcc moxielogic-moxie-elf-gcc-c++ moxielogic-moxie-elf-gcc-libstdc++ moxielogic-moxie-elf-gdb-sim texinfo sharutils texlive dejagnu
;;
x86_64-w64-mingw32)
sudo apt-get install gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 wine;
;;
i686-w32-mingw32)
sudo apt-get install gcc-mingw-w64-i686 g++-mingw-w64-i686 wine;
;;
esac
case $HOST in
arm32v7-linux-gnu)
arm32v7-linux-gnu)
# don't install host tools
;;
*)
sudo apt-get install dejagnu texinfo sharutils
;;
*)
sudo apt-get install dejagnu texinfo sharutils
;;
esac
fi
6 changes: 6 additions & 0 deletions .ci/site.exp
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,10 @@ case "$target_triplet" in {
{ "powerpc-eabisim" } {
set target_list "powerpc-eabisim"
}
{ "aarch*cygwin*" } {
set target_list "unix-noexec"
}
{ "arm*cygwin*" } {
set target_list "unix-noexec"
}
}
File renamed without changes.
Loading
Loading