ffi 1.17.1 → 1.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +8 -0
- data/Gemfile +3 -1
- data/Rakefile +1 -1
- data/ext/ffi_c/libffi/.github/workflows/emscripten.yml +48 -60
- data/ext/ffi_c/libffi/Makefile.am +4 -3
- data/ext/ffi_c/libffi/Makefile.in +5 -25
- data/ext/ffi_c/libffi/README.md +19 -2
- data/ext/ffi_c/libffi/acinclude.m4 +6 -0
- data/ext/ffi_c/libffi/config.guess +80 -22
- data/ext/ffi_c/libffi/config.sub +161 -80
- data/ext/ffi_c/libffi/configure +968 -1266
- data/ext/ffi_c/libffi/configure.ac +9 -8
- data/ext/ffi_c/libffi/configure.host +0 -5
- data/ext/ffi_c/libffi/doc/Makefile.in +1 -0
- data/ext/ffi_c/libffi/doc/libffi.texi +3 -3
- data/ext/ffi_c/libffi/doc/version.texi +4 -4
- data/ext/ffi_c/libffi/fficonfig.h.in +9 -9
- data/ext/ffi_c/libffi/include/Makefile.in +1 -0
- data/ext/ffi_c/libffi/include/ffi_cfi.h +2 -0
- data/ext/ffi_c/libffi/include/ffi_common.h +17 -0
- data/ext/ffi_c/libffi/man/Makefile.in +1 -0
- data/ext/ffi_c/libffi/src/aarch64/ffi.c +7 -4
- data/ext/ffi_c/libffi/src/aarch64/ffitarget.h +2 -2
- data/ext/ffi_c/libffi/src/aarch64/internal.h +63 -17
- data/ext/ffi_c/libffi/src/aarch64/sysv.S +16 -12
- data/ext/ffi_c/libffi/src/arc/arcompact.S +2 -2
- data/ext/ffi_c/libffi/src/arc/ffi.c +6 -2
- data/ext/ffi_c/libffi/src/closures.c +3 -3
- data/ext/ffi_c/libffi/src/dlmalloc.c +1 -0
- data/ext/ffi_c/libffi/src/mips/ffitarget.h +2 -4
- data/ext/ffi_c/libffi/src/mips/n32.S +4 -0
- data/ext/ffi_c/libffi/src/mips/o32.S +4 -0
- data/ext/ffi_c/libffi/src/or1k/ffi.c +2 -2
- data/ext/ffi_c/libffi/src/powerpc/ffi.c +13 -0
- data/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +26 -19
- data/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c +26 -16
- data/ext/ffi_c/libffi/src/powerpc/internal.h +10 -0
- data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +47 -0
- data/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +24 -0
- data/ext/ffi_c/libffi/src/prep_cif.c +1 -4
- data/ext/ffi_c/libffi/src/s390/ffi.c +28 -1
- data/ext/ffi_c/libffi/src/s390/internal.h +11 -0
- data/ext/ffi_c/libffi/src/s390/sysv.S +38 -0
- data/ext/ffi_c/libffi/src/sparc/ffi.c +16 -0
- data/ext/ffi_c/libffi/src/wasm32/ffi.c +10 -262
- data/ext/ffi_c/libffi/src/x86/ffi.c +4 -1
- data/ext/ffi_c/libffi/src/x86/ffi64.c +4 -1
- data/ext/ffi_c/libffi/testsuite/Makefile.am +4 -3
- data/ext/ffi_c/libffi/testsuite/Makefile.in +5 -3
- data/ext/ffi_c/libffi/testsuite/emscripten/build-tests.sh +4 -24
- data/ext/ffi_c/libffi/testsuite/emscripten/build.sh +8 -25
- data/ext/ffi_c/libffi/testsuite/emscripten/node-tests.sh +3 -28
- data/ext/ffi_c/libffi/testsuite/libffi.call/callback.c +2 -2
- data/ext/ffi_c/libffi/testsuite/libffi.call/callback2.c +2 -2
- data/ext/ffi_c/libffi/testsuite/libffi.call/callback3.c +2 -2
- data/ext/ffi_c/libffi/testsuite/libffi.call/callback4.c +2 -2
- data/ext/ffi_c/libffi/testsuite/libffi.call/overread.c +54 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/struct_int_float.c +88 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +1 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +1 -0
- data/ext/ffi_c/libffi/testsuite/libffi.call/x32.c +31 -0
- data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_sshortchar.c +1 -1
- data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_ushortchar.c +1 -1
- data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c +1 -1
- data/lib/ffi/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +6 -6
- metadata.gz.sig +0 -0
- data/ext/ffi_c/libffi/.circleci/config.yml +0 -156
- data/ext/ffi_c/libffi/src/nios2/ffi.c +0 -304
- data/ext/ffi_c/libffi/src/nios2/ffitarget.h +0 -52
- data/ext/ffi_c/libffi/src/nios2/sysv.S +0 -136
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '058d816e4da0c93950ccb7181f82c310f9faf3e934948e77f574d01ffcdf7aaa'
|
4
|
+
data.tar.gz: 0553df9cff19ffb4404dac629dac314f43f70f3cb647899e0cae687dd48631d7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff675e518022c92374772bdfb8594e07940d0765c134ae076235c6e1c2fe886c091e736415ee0ba28ddd7c4aaf3768929fe27366aa43aaa2f3c250e4eaa7d2cd
|
7
|
+
data.tar.gz: 7fb6dd8b66f31369863914000c9484eb6cbf813195e25aeaf0a72a3a3eb3e8895f85c8c240686e744ee1bbe90492641e7ef65a1ebcc7d17195c58125c2138c8d
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
1.17.2 / 2025-04-15
|
2
|
+
-------------------
|
3
|
+
|
4
|
+
Fixed:
|
5
|
+
* #1144, #1145 Update libffi to 3.4.8 to fix installation issues on latest Macos on ARM64
|
6
|
+
* Various adjustments to run the specs cleanly on Ruby-3.5 master branch.
|
7
|
+
|
8
|
+
|
1
9
|
1.17.1 / 2024-12-30
|
2
10
|
-------------------
|
3
11
|
|
data/Gemfile
CHANGED
@@ -1,11 +1,13 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
3
|
group :development do
|
4
|
+
gem 'benchmark' # necessary on ruby-3.5+
|
4
5
|
gem 'bigdecimal' # necessary on ruby-3.3+
|
5
6
|
gem 'bundler', '>= 1.16', '< 3'
|
7
|
+
gem 'fiddle', platforms: %i[mri windows] # necessary on ruby-3.5+
|
6
8
|
gem 'rake', '~> 13.0'
|
7
9
|
gem 'rake-compiler', '~> 1.1'
|
8
|
-
gem 'rake-compiler-dock', '~> 1.
|
10
|
+
gem 'rake-compiler-dock', '~> 1.9.0'
|
9
11
|
gem 'rspec', '~> 3.0'
|
10
12
|
end
|
11
13
|
|
data/Rakefile
CHANGED
@@ -138,7 +138,7 @@ namespace "gem" do
|
|
138
138
|
RakeCompilerDock.sh <<-EOT, platform: plat
|
139
139
|
sudo apt-get update && sudo apt-get install -y libltdl-dev &&
|
140
140
|
bundle --local &&
|
141
|
-
rake native:#{plat} pkg/#{gem_spec.full_name}-#{plat}.gem MAKE='nice make -j`nproc`' RUBY_CC_VERSION
|
141
|
+
rake native:#{plat} pkg/#{gem_spec.full_name}-#{plat}.gem MAKE='nice make -j`nproc`' RUBY_CC_VERSION=#{RakeCompilerDock.ruby_cc_version("~>2.5", "~>3.0")}
|
142
142
|
EOT
|
143
143
|
end
|
144
144
|
end
|
@@ -13,13 +13,13 @@ on:
|
|
13
13
|
|
14
14
|
|
15
15
|
env:
|
16
|
-
PYODIDE_VERSION: 0.
|
16
|
+
PYODIDE_VERSION: 0.58.4
|
17
17
|
# PYTHON_VERSION and EMSCRIPTEN_VERSION are determined by PYODIDE_VERSION.
|
18
18
|
# The appropriate versions can be found in the Pyodide repodata.json
|
19
19
|
# "info" field, or in Makefile.envs:
|
20
20
|
# https://github.com/pyodide/pyodide/blob/main/Makefile.envs#L2
|
21
|
-
PYTHON_VERSION: 3.
|
22
|
-
EMSCRIPTEN_VERSION: 3.1.
|
21
|
+
PYTHON_VERSION: 3.12.7
|
22
|
+
EMSCRIPTEN_VERSION: 3.1.58
|
23
23
|
EM_CACHE_FOLDER: emsdk-cache
|
24
24
|
|
25
25
|
jobs:
|
@@ -27,53 +27,46 @@ jobs:
|
|
27
27
|
runs-on: ubuntu-22.04
|
28
28
|
steps:
|
29
29
|
- name: Setup cache
|
30
|
-
|
31
|
-
uses: actions/cache@v3
|
30
|
+
uses: actions/cache@v4
|
32
31
|
with:
|
33
|
-
path: ${{env.EM_CACHE_FOLDER}}
|
34
|
-
key: ${{env.EMSCRIPTEN_VERSION}}
|
32
|
+
path: ${{ env.EM_CACHE_FOLDER }}
|
33
|
+
key: ${{ env.EMSCRIPTEN_VERSION }}
|
35
34
|
|
36
|
-
-
|
35
|
+
- name: Setup emsdk
|
36
|
+
uses: mymindstorm/setup-emsdk@v14
|
37
37
|
with:
|
38
38
|
version: ${{ env.EMSCRIPTEN_VERSION }}
|
39
|
-
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
|
39
|
+
actions-cache-folder: ${{ env.EM_CACHE_FOLDER }}
|
40
40
|
|
41
41
|
test-dejagnu:
|
42
|
-
|
43
|
-
matrix:
|
44
|
-
bigint: ["--wasm-bigint", ""]
|
45
|
-
runs-on: ubuntu-22.04
|
42
|
+
runs-on: ubuntu-24.04
|
46
43
|
needs: [setup-emsdk-cache]
|
47
44
|
steps:
|
48
45
|
- name: Checkout
|
49
|
-
uses: actions/checkout@
|
46
|
+
uses: actions/checkout@v4
|
50
47
|
|
51
|
-
- name:
|
52
|
-
|
53
|
-
uses: actions/setup-python@v4
|
48
|
+
- name: Setup Python
|
49
|
+
uses: actions/setup-python@v5
|
54
50
|
with:
|
55
51
|
python-version: ${{ env.PYTHON_VERSION }}
|
56
52
|
|
57
53
|
- name: Setup cache
|
58
|
-
|
59
|
-
uses: actions/cache@v3
|
54
|
+
uses: actions/cache@v4
|
60
55
|
with:
|
61
|
-
path: ${{env.EM_CACHE_FOLDER}}
|
62
|
-
key: ${{env.EMSCRIPTEN_VERSION}}
|
56
|
+
path: ${{ env.EM_CACHE_FOLDER }}
|
57
|
+
key: ${{ env.EMSCRIPTEN_VERSION }}
|
63
58
|
|
64
|
-
-
|
59
|
+
- name: Setup emsdk
|
60
|
+
uses: mymindstorm/setup-emsdk@v14
|
65
61
|
with:
|
66
62
|
version: ${{ env.EMSCRIPTEN_VERSION }}
|
67
|
-
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
|
63
|
+
actions-cache-folder: ${{ env.EM_CACHE_FOLDER }}
|
68
64
|
|
69
|
-
- name: Install
|
70
|
-
|
71
|
-
run: |
|
72
|
-
sudo apt install -y dejagnu
|
65
|
+
- name: Install dependencies
|
66
|
+
run: sudo apt-get install dejagnu libltdl-dev
|
73
67
|
|
74
|
-
- name:
|
75
|
-
run:
|
76
|
-
testsuite/emscripten/node-tests.sh ${{ matrix.bigint }}
|
68
|
+
- name: Run tests
|
69
|
+
run: testsuite/emscripten/node-tests.sh
|
77
70
|
|
78
71
|
- name: Install rlgl and run
|
79
72
|
run: |
|
@@ -84,75 +77,70 @@ jobs:
|
|
84
77
|
exit $?
|
85
78
|
|
86
79
|
build:
|
87
|
-
|
88
|
-
matrix:
|
89
|
-
bigint: ["--wasm-bigint", ""]
|
90
|
-
env:
|
91
|
-
WASM_BIGINT: ${{ matrix.bigint }}
|
92
|
-
runs-on: ubuntu-22.04
|
80
|
+
runs-on: ubuntu-24.04
|
93
81
|
needs: [setup-emsdk-cache]
|
94
82
|
steps:
|
95
83
|
- name: Checkout
|
96
|
-
uses: actions/checkout@
|
84
|
+
uses: actions/checkout@v4
|
97
85
|
|
98
86
|
- name: Setup cache
|
99
|
-
|
100
|
-
uses: actions/cache@v3
|
87
|
+
uses: actions/cache@v4
|
101
88
|
with:
|
102
|
-
path: ${{env.EM_CACHE_FOLDER}}
|
103
|
-
key: ${{env.EMSCRIPTEN_VERSION}}
|
89
|
+
path: ${{ env.EM_CACHE_FOLDER }}
|
90
|
+
key: ${{ env.EMSCRIPTEN_VERSION }}
|
104
91
|
|
105
|
-
-
|
92
|
+
- name: Setup emsdk
|
93
|
+
uses: mymindstorm/setup-emsdk@v12
|
106
94
|
with:
|
107
95
|
version: ${{ env.EMSCRIPTEN_VERSION }}
|
108
|
-
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
|
96
|
+
actions-cache-folder: ${{ env.EM_CACHE_FOLDER }}
|
109
97
|
|
110
|
-
- name:
|
111
|
-
run:
|
112
|
-
|
98
|
+
- name: Install dependencies
|
99
|
+
run: sudo apt-get install libltdl-dev
|
100
|
+
|
101
|
+
- name: Build
|
102
|
+
run: ./testsuite/emscripten/build.sh
|
113
103
|
|
114
|
-
- name:
|
104
|
+
- name: Build tests
|
115
105
|
run: |
|
116
106
|
cp -r testsuite/libffi.call testsuite/libffi.call.test
|
117
107
|
cp -r testsuite/libffi.closures testsuite/libffi.closures.test
|
118
|
-
./testsuite/emscripten/build-tests.sh testsuite/libffi.call.test
|
119
|
-
./testsuite/emscripten/build-tests.sh testsuite/libffi.closures.test
|
108
|
+
./testsuite/emscripten/build-tests.sh testsuite/libffi.call.test
|
109
|
+
./testsuite/emscripten/build-tests.sh testsuite/libffi.closures.test
|
120
110
|
|
121
111
|
- name: Store artifacts
|
122
|
-
uses: actions/upload-artifact@
|
112
|
+
uses: actions/upload-artifact@v4
|
123
113
|
with:
|
124
114
|
name: built-tests
|
125
|
-
path:
|
126
|
-
./testsuite/libffi.c*/
|
115
|
+
path: ./testsuite/libffi.c*/
|
127
116
|
|
128
117
|
test:
|
129
118
|
strategy:
|
130
119
|
matrix:
|
131
|
-
bigint: ["--wasm-bigint", ""]
|
132
120
|
browser: ["chrome"]
|
133
121
|
# FIXME: selenium can't find gecko driver for "firefox"
|
134
|
-
runs-on: ubuntu-
|
122
|
+
runs-on: ubuntu-24.04
|
135
123
|
needs: [build]
|
136
124
|
steps:
|
137
125
|
- name: Checkout
|
138
|
-
uses: actions/checkout@
|
126
|
+
uses: actions/checkout@v4
|
139
127
|
|
140
128
|
- name: Download build artifact
|
141
|
-
uses: actions/download-artifact@
|
129
|
+
uses: actions/download-artifact@v4
|
142
130
|
with:
|
143
131
|
name: built-tests
|
144
132
|
path: ./testsuite/
|
145
133
|
|
146
|
-
- uses: conda-incubator/setup-miniconda@
|
134
|
+
- uses: conda-incubator/setup-miniconda@v3
|
147
135
|
with:
|
148
136
|
activate-environment: pyodide-env
|
149
137
|
python-version: ${{ env.PYTHON_VERSION }}
|
150
138
|
channels: conda-forge
|
139
|
+
|
151
140
|
- name: Install test dependencies
|
152
|
-
run:
|
153
|
-
pip install pytest-pyodide==${{ env.PYODIDE_VERSION }}
|
141
|
+
run: pip install pytest-pyodide==${{ env.PYODIDE_VERSION }}
|
154
142
|
|
155
|
-
- name:
|
143
|
+
- name: Run tests
|
156
144
|
run: |
|
157
145
|
cd testsuite/emscripten/
|
158
146
|
mkdir test-results
|
@@ -55,10 +55,11 @@ noinst_HEADERS = src/aarch64/ffitarget.h src/aarch64/internal.h \
|
|
55
55
|
src/m32r/ffitarget.h src/m68k/ffitarget.h \
|
56
56
|
src/m88k/ffitarget.h src/metag/ffitarget.h \
|
57
57
|
src/microblaze/ffitarget.h src/mips/ffitarget.h \
|
58
|
-
src/moxie/ffitarget.h
|
58
|
+
src/moxie/ffitarget.h \
|
59
59
|
src/or1k/ffitarget.h src/pa/ffitarget.h \
|
60
60
|
src/powerpc/ffitarget.h src/powerpc/asm.h \
|
61
|
-
src/powerpc/ffi_powerpc.h src/
|
61
|
+
src/powerpc/ffi_powerpc.h src/powerpc/internal.h \
|
62
|
+
src/riscv/ffitarget.h \
|
62
63
|
src/s390/ffitarget.h src/s390/internal.h src/sh/ffitarget.h \
|
63
64
|
src/sh64/ffitarget.h src/sparc/ffitarget.h \
|
64
65
|
src/sparc/internal.h src/tile/ffitarget.h src/vax/ffitarget.h \
|
@@ -80,7 +81,7 @@ EXTRA_libffi_la_SOURCES = src/aarch64/ffi.c src/aarch64/sysv.S \
|
|
80
81
|
src/metag/ffi.c src/metag/sysv.S src/microblaze/ffi.c \
|
81
82
|
src/microblaze/sysv.S src/mips/ffi.c src/mips/o32.S \
|
82
83
|
src/mips/n32.S src/moxie/ffi.c src/moxie/eabi.S \
|
83
|
-
src/
|
84
|
+
src/or1k/ffi.c \
|
84
85
|
src/or1k/sysv.S src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
|
85
86
|
src/pa/hpux64.S src/powerpc/ffi.c src/powerpc/ffi_sysv.c \
|
86
87
|
src/powerpc/ffi_linux64.c src/powerpc/sysv.S \
|
@@ -221,7 +221,6 @@ am__depfiles_remade = src/$(DEPDIR)/closures.Plo \
|
|
221
221
|
src/microblaze/$(DEPDIR)/sysv.Plo src/mips/$(DEPDIR)/ffi.Plo \
|
222
222
|
src/mips/$(DEPDIR)/n32.Plo src/mips/$(DEPDIR)/o32.Plo \
|
223
223
|
src/moxie/$(DEPDIR)/eabi.Plo src/moxie/$(DEPDIR)/ffi.Plo \
|
224
|
-
src/nios2/$(DEPDIR)/ffi.Plo src/nios2/$(DEPDIR)/sysv.Plo \
|
225
224
|
src/or1k/$(DEPDIR)/ffi.Plo src/or1k/$(DEPDIR)/sysv.Plo \
|
226
225
|
src/pa/$(DEPDIR)/ffi.Plo src/pa/$(DEPDIR)/hpux32.Plo \
|
227
226
|
src/pa/$(DEPDIR)/hpux64.Plo src/pa/$(DEPDIR)/linux.Plo \
|
@@ -470,6 +469,7 @@ ac_ct_AR = @ac_ct_AR@
|
|
470
469
|
ac_ct_CC = @ac_ct_CC@
|
471
470
|
ac_ct_CXX = @ac_ct_CXX@
|
472
471
|
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
|
472
|
+
ac_ct_READELF = @ac_ct_READELF@
|
473
473
|
am__include = @am__include@
|
474
474
|
am__leading_dot = @am__leading_dot@
|
475
475
|
am__quote = @am__quote@
|
@@ -560,10 +560,11 @@ noinst_HEADERS = src/aarch64/ffitarget.h src/aarch64/internal.h \
|
|
560
560
|
src/m32r/ffitarget.h src/m68k/ffitarget.h \
|
561
561
|
src/m88k/ffitarget.h src/metag/ffitarget.h \
|
562
562
|
src/microblaze/ffitarget.h src/mips/ffitarget.h \
|
563
|
-
src/moxie/ffitarget.h
|
563
|
+
src/moxie/ffitarget.h \
|
564
564
|
src/or1k/ffitarget.h src/pa/ffitarget.h \
|
565
565
|
src/powerpc/ffitarget.h src/powerpc/asm.h \
|
566
|
-
src/powerpc/ffi_powerpc.h src/
|
566
|
+
src/powerpc/ffi_powerpc.h src/powerpc/internal.h \
|
567
|
+
src/riscv/ffitarget.h \
|
567
568
|
src/s390/ffitarget.h src/s390/internal.h src/sh/ffitarget.h \
|
568
569
|
src/sh64/ffitarget.h src/sparc/ffitarget.h \
|
569
570
|
src/sparc/internal.h src/tile/ffitarget.h src/vax/ffitarget.h \
|
@@ -585,7 +586,7 @@ EXTRA_libffi_la_SOURCES = src/aarch64/ffi.c src/aarch64/sysv.S \
|
|
585
586
|
src/metag/ffi.c src/metag/sysv.S src/microblaze/ffi.c \
|
586
587
|
src/microblaze/sysv.S src/mips/ffi.c src/mips/o32.S \
|
587
588
|
src/mips/n32.S src/moxie/ffi.c src/moxie/eabi.S \
|
588
|
-
src/
|
589
|
+
src/or1k/ffi.c \
|
589
590
|
src/or1k/sysv.S src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
|
590
591
|
src/pa/hpux64.S src/powerpc/ffi.c src/powerpc/ffi_sysv.c \
|
591
592
|
src/powerpc/ffi_linux64.c src/powerpc/sysv.S \
|
@@ -913,16 +914,6 @@ src/moxie/ffi.lo: src/moxie/$(am__dirstamp) \
|
|
913
914
|
src/moxie/$(DEPDIR)/$(am__dirstamp)
|
914
915
|
src/moxie/eabi.lo: src/moxie/$(am__dirstamp) \
|
915
916
|
src/moxie/$(DEPDIR)/$(am__dirstamp)
|
916
|
-
src/nios2/$(am__dirstamp):
|
917
|
-
@$(MKDIR_P) src/nios2
|
918
|
-
@: > src/nios2/$(am__dirstamp)
|
919
|
-
src/nios2/$(DEPDIR)/$(am__dirstamp):
|
920
|
-
@$(MKDIR_P) src/nios2/$(DEPDIR)
|
921
|
-
@: > src/nios2/$(DEPDIR)/$(am__dirstamp)
|
922
|
-
src/nios2/ffi.lo: src/nios2/$(am__dirstamp) \
|
923
|
-
src/nios2/$(DEPDIR)/$(am__dirstamp)
|
924
|
-
src/nios2/sysv.lo: src/nios2/$(am__dirstamp) \
|
925
|
-
src/nios2/$(DEPDIR)/$(am__dirstamp)
|
926
917
|
src/or1k/$(am__dirstamp):
|
927
918
|
@$(MKDIR_P) src/or1k
|
928
919
|
@: > src/or1k/$(am__dirstamp)
|
@@ -1158,8 +1149,6 @@ mostlyclean-compile:
|
|
1158
1149
|
-rm -f src/mips/*.lo
|
1159
1150
|
-rm -f src/moxie/*.$(OBJEXT)
|
1160
1151
|
-rm -f src/moxie/*.lo
|
1161
|
-
-rm -f src/nios2/*.$(OBJEXT)
|
1162
|
-
-rm -f src/nios2/*.lo
|
1163
1152
|
-rm -f src/or1k/*.$(OBJEXT)
|
1164
1153
|
-rm -f src/or1k/*.lo
|
1165
1154
|
-rm -f src/pa/*.$(OBJEXT)
|
@@ -1238,8 +1227,6 @@ distclean-compile:
|
|
1238
1227
|
@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/o32.Plo@am__quote@ # am--include-marker
|
1239
1228
|
@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/eabi.Plo@am__quote@ # am--include-marker
|
1240
1229
|
@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/ffi.Plo@am__quote@ # am--include-marker
|
1241
|
-
@AMDEP_TRUE@@am__include@ @am__quote@src/nios2/$(DEPDIR)/ffi.Plo@am__quote@ # am--include-marker
|
1242
|
-
@AMDEP_TRUE@@am__include@ @am__quote@src/nios2/$(DEPDIR)/sysv.Plo@am__quote@ # am--include-marker
|
1243
1230
|
@AMDEP_TRUE@@am__include@ @am__quote@src/or1k/$(DEPDIR)/ffi.Plo@am__quote@ # am--include-marker
|
1244
1231
|
@AMDEP_TRUE@@am__include@ @am__quote@src/or1k/$(DEPDIR)/sysv.Plo@am__quote@ # am--include-marker
|
1245
1232
|
@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/ffi.Plo@am__quote@ # am--include-marker
|
@@ -1365,7 +1352,6 @@ clean-libtool:
|
|
1365
1352
|
-rm -rf src/microblaze/.libs src/microblaze/_libs
|
1366
1353
|
-rm -rf src/mips/.libs src/mips/_libs
|
1367
1354
|
-rm -rf src/moxie/.libs src/moxie/_libs
|
1368
|
-
-rm -rf src/nios2/.libs src/nios2/_libs
|
1369
1355
|
-rm -rf src/or1k/.libs src/or1k/_libs
|
1370
1356
|
-rm -rf src/pa/.libs src/pa/_libs
|
1371
1357
|
-rm -rf src/powerpc/.libs src/powerpc/_libs
|
@@ -1783,8 +1769,6 @@ distclean-generic:
|
|
1783
1769
|
-rm -f src/mips/$(am__dirstamp)
|
1784
1770
|
-rm -f src/moxie/$(DEPDIR)/$(am__dirstamp)
|
1785
1771
|
-rm -f src/moxie/$(am__dirstamp)
|
1786
|
-
-rm -f src/nios2/$(DEPDIR)/$(am__dirstamp)
|
1787
|
-
-rm -f src/nios2/$(am__dirstamp)
|
1788
1772
|
-rm -f src/or1k/$(DEPDIR)/$(am__dirstamp)
|
1789
1773
|
-rm -f src/or1k/$(am__dirstamp)
|
1790
1774
|
-rm -f src/pa/$(DEPDIR)/$(am__dirstamp)
|
@@ -1871,8 +1855,6 @@ distclean: distclean-recursive
|
|
1871
1855
|
-rm -f src/mips/$(DEPDIR)/o32.Plo
|
1872
1856
|
-rm -f src/moxie/$(DEPDIR)/eabi.Plo
|
1873
1857
|
-rm -f src/moxie/$(DEPDIR)/ffi.Plo
|
1874
|
-
-rm -f src/nios2/$(DEPDIR)/ffi.Plo
|
1875
|
-
-rm -f src/nios2/$(DEPDIR)/sysv.Plo
|
1876
1858
|
-rm -f src/or1k/$(DEPDIR)/ffi.Plo
|
1877
1859
|
-rm -f src/or1k/$(DEPDIR)/sysv.Plo
|
1878
1860
|
-rm -f src/pa/$(DEPDIR)/ffi.Plo
|
@@ -2013,8 +1995,6 @@ maintainer-clean: maintainer-clean-recursive
|
|
2013
1995
|
-rm -f src/mips/$(DEPDIR)/o32.Plo
|
2014
1996
|
-rm -f src/moxie/$(DEPDIR)/eabi.Plo
|
2015
1997
|
-rm -f src/moxie/$(DEPDIR)/ffi.Plo
|
2016
|
-
-rm -f src/nios2/$(DEPDIR)/ffi.Plo
|
2017
|
-
-rm -f src/nios2/$(DEPDIR)/sysv.Plo
|
2018
1998
|
-rm -f src/or1k/$(DEPDIR)/ffi.Plo
|
2019
1999
|
-rm -f src/or1k/$(DEPDIR)/sysv.Plo
|
2020
2000
|
-rm -f src/pa/$(DEPDIR)/ffi.Plo
|
data/ext/ffi_c/libffi/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Status
|
2
2
|
======
|
3
3
|
|
4
|
-
libffi-3.4.
|
4
|
+
libffi-3.4.8 was released on April 9, 2025. Check the libffi web
|
5
5
|
page for updates: <URL:http://sourceware.org/libffi/>.
|
6
6
|
|
7
7
|
|
@@ -76,7 +76,6 @@ tested:
|
|
76
76
|
| MIPS | RTEMS | GCC |
|
77
77
|
| MIPS64 | Linux | GCC |
|
78
78
|
| Moxie | Bare metal | GCC |
|
79
|
-
| Nios II | Linux | GCC |
|
80
79
|
| OpenRISC | Linux | GCC |
|
81
80
|
| PowerPC 32-bit | AIX | GCC |
|
82
81
|
| PowerPC 32-bit | AIX | IBM XL C |
|
@@ -201,6 +200,24 @@ History
|
|
201
200
|
|
202
201
|
See the git log for details at http://github.com/libffi/libffi.
|
203
202
|
|
203
|
+
3.4.8 Apr-9-2025
|
204
|
+
Add static trampoline support for powerpc-linux (32-bit SYSV BE),
|
205
|
+
powerpc64-linux (64-bit ELFv1 BE) and
|
206
|
+
powerpc64le-linux (64-bit ELFv2 LE)
|
207
|
+
Various x86-64 bug fixes (x32 ABI and improper memory access for
|
208
|
+
small argument calls).
|
209
|
+
Fix to enable pointer authentication for aarch64.
|
210
|
+
|
211
|
+
3.4.7 Feb-8-2025
|
212
|
+
Add static trampoline support for Linux on s390x.
|
213
|
+
Fix BTI support for ARM64.
|
214
|
+
Support pointer authentication for ARM64.
|
215
|
+
Fix ASAN compatibility.
|
216
|
+
Fix x86-64 calls with 6 GP registers and some SSE registers.
|
217
|
+
Miscellaneous fixes for ARC and Darwin ARM64.
|
218
|
+
Fix OpenRISC or1k and Solaris 10 builds.
|
219
|
+
Remove nios2 port.
|
220
|
+
|
204
221
|
3.4.6 Feb-18-2024
|
205
222
|
Fix long double regression on mips64 and alpha.
|
206
223
|
|
@@ -180,6 +180,10 @@ AC_DEFUN([LIBFFI_CHECK_LINKER_FEATURES], [
|
|
180
180
|
if $LD --version 2>/dev/null | grep 'LLD '> /dev/null 2>&1; then
|
181
181
|
libat_ld_is_lld=yes
|
182
182
|
fi
|
183
|
+
libat_ld_is_mold=no
|
184
|
+
if $LD --version 2>/dev/null | grep 'mold '> /dev/null 2>&1; then
|
185
|
+
libat_ld_is_mold=yes
|
186
|
+
fi
|
183
187
|
changequote(,)
|
184
188
|
ldver=`$LD --version 2>/dev/null |
|
185
189
|
sed -e 's/GNU gold /GNU ld /;s/GNU ld version /GNU ld /;s/GNU ld ([^)]*) /GNU ld /;s/GNU ld \([0-9.][0-9.]*\).*/\1/; q'`
|
@@ -336,6 +340,8 @@ if test $enable_symvers != no && test $libat_shared_libgcc = yes; then
|
|
336
340
|
enable_symvers=gnu
|
337
341
|
elif test $libat_ld_is_lld = yes ; then
|
338
342
|
enable_symvers=gnu
|
343
|
+
elif test $libat_ld_is_mold = yes ; then
|
344
|
+
enable_symvers=gnu
|
339
345
|
else
|
340
346
|
# The right tools, the right setup, but too old. Fallbacks?
|
341
347
|
AC_MSG_WARN(=== Linker version $libat_gnu_ld_version is too old for)
|
@@ -1,10 +1,10 @@
|
|
1
1
|
#! /bin/sh
|
2
2
|
# Attempt to guess a canonical system name.
|
3
|
-
# Copyright 1992-
|
3
|
+
# Copyright 1992-2024 Free Software Foundation, Inc.
|
4
4
|
|
5
5
|
# shellcheck disable=SC2006,SC2268 # see below for rationale
|
6
6
|
|
7
|
-
timestamp='
|
7
|
+
timestamp='2024-01-01'
|
8
8
|
|
9
9
|
# This file is free software; you can redistribute it and/or modify it
|
10
10
|
# under the terms of the GNU General Public License as published by
|
@@ -47,7 +47,7 @@ me=`echo "$0" | sed -e 's,.*/,,'`
|
|
47
47
|
usage="\
|
48
48
|
Usage: $0 [OPTION]
|
49
49
|
|
50
|
-
Output the configuration name of the system
|
50
|
+
Output the configuration name of the system '$me' is run on.
|
51
51
|
|
52
52
|
Options:
|
53
53
|
-h, --help print this help, then exit
|
@@ -60,13 +60,13 @@ version="\
|
|
60
60
|
GNU config.guess ($timestamp)
|
61
61
|
|
62
62
|
Originally written by Per Bothner.
|
63
|
-
Copyright 1992-
|
63
|
+
Copyright 1992-2024 Free Software Foundation, Inc.
|
64
64
|
|
65
65
|
This is free software; see the source for copying conditions. There is NO
|
66
66
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
67
67
|
|
68
68
|
help="
|
69
|
-
Try
|
69
|
+
Try '$me --help' for more information."
|
70
70
|
|
71
71
|
# Parse command line
|
72
72
|
while test $# -gt 0 ; do
|
@@ -102,8 +102,8 @@ GUESS=
|
|
102
102
|
# temporary files to be created and, as you can see below, it is a
|
103
103
|
# headache to deal with in a portable fashion.
|
104
104
|
|
105
|
-
# Historically,
|
106
|
-
# use
|
105
|
+
# Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still
|
106
|
+
# use 'HOST_CC' if defined, but it is deprecated.
|
107
107
|
|
108
108
|
# Portable tmp directory creation inspired by the Autoconf team.
|
109
109
|
|
@@ -155,6 +155,9 @@ Linux|GNU|GNU/*)
|
|
155
155
|
|
156
156
|
set_cc_for_build
|
157
157
|
cat <<-EOF > "$dummy.c"
|
158
|
+
#if defined(__ANDROID__)
|
159
|
+
LIBC=android
|
160
|
+
#else
|
158
161
|
#include <features.h>
|
159
162
|
#if defined(__UCLIBC__)
|
160
163
|
LIBC=uclibc
|
@@ -162,6 +165,8 @@ Linux|GNU|GNU/*)
|
|
162
165
|
LIBC=dietlibc
|
163
166
|
#elif defined(__GLIBC__)
|
164
167
|
LIBC=gnu
|
168
|
+
#elif defined(__LLVM_LIBC__)
|
169
|
+
LIBC=llvm
|
165
170
|
#else
|
166
171
|
#include <stdarg.h>
|
167
172
|
/* First heuristic to detect musl libc. */
|
@@ -169,6 +174,7 @@ Linux|GNU|GNU/*)
|
|
169
174
|
LIBC=musl
|
170
175
|
#endif
|
171
176
|
#endif
|
177
|
+
#endif
|
172
178
|
EOF
|
173
179
|
cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
|
174
180
|
eval "$cc_set_libc"
|
@@ -459,7 +465,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
|
|
459
465
|
UNAME_RELEASE=`uname -v`
|
460
466
|
;;
|
461
467
|
esac
|
462
|
-
# Japanese Language versions have a version number like
|
468
|
+
# Japanese Language versions have a version number like '4.1.3-JL'.
|
463
469
|
SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
|
464
470
|
GUESS=sparc-sun-sunos$SUN_REL
|
465
471
|
;;
|
@@ -904,7 +910,7 @@ EOF
|
|
904
910
|
fi
|
905
911
|
;;
|
906
912
|
*:FreeBSD:*:*)
|
907
|
-
UNAME_PROCESSOR
|
913
|
+
UNAME_PROCESSOR=`uname -p`
|
908
914
|
case $UNAME_PROCESSOR in
|
909
915
|
amd64)
|
910
916
|
UNAME_PROCESSOR=x86_64 ;;
|
@@ -966,11 +972,37 @@ EOF
|
|
966
972
|
GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
|
967
973
|
GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
|
968
974
|
;;
|
975
|
+
x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
|
976
|
+
GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
|
977
|
+
;;
|
978
|
+
*:[Mm]anagarm:*:*)
|
979
|
+
GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
|
980
|
+
;;
|
969
981
|
*:Minix:*:*)
|
970
982
|
GUESS=$UNAME_MACHINE-unknown-minix
|
971
983
|
;;
|
972
984
|
aarch64:Linux:*:*)
|
973
|
-
|
985
|
+
set_cc_for_build
|
986
|
+
CPU=$UNAME_MACHINE
|
987
|
+
LIBCABI=$LIBC
|
988
|
+
if test "$CC_FOR_BUILD" != no_compiler_found; then
|
989
|
+
ABI=64
|
990
|
+
sed 's/^ //' << EOF > "$dummy.c"
|
991
|
+
#ifdef __ARM_EABI__
|
992
|
+
#ifdef __ARM_PCS_VFP
|
993
|
+
ABI=eabihf
|
994
|
+
#else
|
995
|
+
ABI=eabi
|
996
|
+
#endif
|
997
|
+
#endif
|
998
|
+
EOF
|
999
|
+
cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
|
1000
|
+
eval "$cc_set_abi"
|
1001
|
+
case $ABI in
|
1002
|
+
eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;;
|
1003
|
+
esac
|
1004
|
+
fi
|
1005
|
+
GUESS=$CPU-unknown-linux-$LIBCABI
|
974
1006
|
;;
|
975
1007
|
aarch64_be:Linux:*:*)
|
976
1008
|
UNAME_MACHINE=aarch64_be
|
@@ -1036,7 +1068,16 @@ EOF
|
|
1036
1068
|
k1om:Linux:*:*)
|
1037
1069
|
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
1038
1070
|
;;
|
1039
|
-
|
1071
|
+
kvx:Linux:*:*)
|
1072
|
+
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
1073
|
+
;;
|
1074
|
+
kvx:cos:*:*)
|
1075
|
+
GUESS=$UNAME_MACHINE-unknown-cos
|
1076
|
+
;;
|
1077
|
+
kvx:mbr:*:*)
|
1078
|
+
GUESS=$UNAME_MACHINE-unknown-mbr
|
1079
|
+
;;
|
1080
|
+
loongarch32:Linux:*:* | loongarch64:Linux:*:*)
|
1040
1081
|
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
1041
1082
|
;;
|
1042
1083
|
m32r*:Linux:*:*)
|
@@ -1151,16 +1192,27 @@ EOF
|
|
1151
1192
|
;;
|
1152
1193
|
x86_64:Linux:*:*)
|
1153
1194
|
set_cc_for_build
|
1195
|
+
CPU=$UNAME_MACHINE
|
1154
1196
|
LIBCABI=$LIBC
|
1155
1197
|
if test "$CC_FOR_BUILD" != no_compiler_found; then
|
1156
|
-
|
1157
|
-
|
1158
|
-
|
1159
|
-
|
1160
|
-
|
1161
|
-
|
1198
|
+
ABI=64
|
1199
|
+
sed 's/^ //' << EOF > "$dummy.c"
|
1200
|
+
#ifdef __i386__
|
1201
|
+
ABI=x86
|
1202
|
+
#else
|
1203
|
+
#ifdef __ILP32__
|
1204
|
+
ABI=x32
|
1205
|
+
#endif
|
1206
|
+
#endif
|
1207
|
+
EOF
|
1208
|
+
cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
|
1209
|
+
eval "$cc_set_abi"
|
1210
|
+
case $ABI in
|
1211
|
+
x86) CPU=i686 ;;
|
1212
|
+
x32) LIBCABI=${LIBC}x32 ;;
|
1213
|
+
esac
|
1162
1214
|
fi
|
1163
|
-
GUESS=$
|
1215
|
+
GUESS=$CPU-pc-linux-$LIBCABI
|
1164
1216
|
;;
|
1165
1217
|
xtensa*:Linux:*:*)
|
1166
1218
|
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
|
@@ -1180,7 +1232,7 @@ EOF
|
|
1180
1232
|
GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
|
1181
1233
|
;;
|
1182
1234
|
i*86:OS/2:*:*)
|
1183
|
-
# If we were able to find
|
1235
|
+
# If we were able to find 'uname', then EMX Unix compatibility
|
1184
1236
|
# is probably installed.
|
1185
1237
|
GUESS=$UNAME_MACHINE-pc-os2-emx
|
1186
1238
|
;;
|
@@ -1321,7 +1373,7 @@ EOF
|
|
1321
1373
|
GUESS=ns32k-sni-sysv
|
1322
1374
|
fi
|
1323
1375
|
;;
|
1324
|
-
PENTIUM:*:4.0*:*) # Unisys
|
1376
|
+
PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort
|
1325
1377
|
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
1326
1378
|
GUESS=i586-unisys-sysv4
|
1327
1379
|
;;
|
@@ -1367,8 +1419,11 @@ EOF
|
|
1367
1419
|
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
|
1368
1420
|
GUESS=i586-pc-haiku
|
1369
1421
|
;;
|
1370
|
-
|
1371
|
-
GUESS=
|
1422
|
+
ppc:Haiku:*:*) # Haiku running on Apple PowerPC
|
1423
|
+
GUESS=powerpc-apple-haiku
|
1424
|
+
;;
|
1425
|
+
*:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat)
|
1426
|
+
GUESS=$UNAME_MACHINE-unknown-haiku
|
1372
1427
|
;;
|
1373
1428
|
SX-4:SUPER-UX:*:*)
|
1374
1429
|
GUESS=sx4-nec-superux$UNAME_RELEASE
|
@@ -1540,6 +1595,9 @@ EOF
|
|
1540
1595
|
*:Unleashed:*:*)
|
1541
1596
|
GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
|
1542
1597
|
;;
|
1598
|
+
*:Ironclad:*:*)
|
1599
|
+
GUESS=$UNAME_MACHINE-unknown-ironclad
|
1600
|
+
;;
|
1543
1601
|
esac
|
1544
1602
|
|
1545
1603
|
# Do we have a guess based on uname results?
|