-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
264 lines (201 loc) · 7.96 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
New in 2.5:
* Added support for the following platforms:
(Previously, a build on these platforms failed.)
- loongarch64: Linux with lp64d ABI.
- riscv64: Linux with musl libc.
- hppa: Linux.
- powerpc: FreeBSD, NetBSD.
- powerpc64: FreeBSD.
- powerpc64le: FreeBSD.
- arm: Android.
* Fixed support for the following platforms:
(Previously, a build on these platforms appeared to succeed but was buggy.)
- ia64: Linux.
- arm64: OpenBSD.
* Simplified the environmental requirements (the library no longer allocates
a temporary file in /tmp) on the following platforms:
- Linux.
- macOS.
- FreeBSD 13 and newer.
- NetBSD 8 and newer.
New in 2.4:
* Added support for the following platforms:
(Previously, a build on these platforms failed.)
- arm64: macOS 11.
- arm: FreeBSD 12.
- sparc: Solaris 11 32-bit.
New in 2.3:
* Added support for the following platforms:
(Previously, a build on these platforms failed.)
- x86_64: FreeBSD 13, OpenBSD 6.5 and newer.
- powerpc64: AIX 7 with xlclang compiler.
* Fixed a couple of multithread-safety bugs in the trampoline and callback
packages.
New in 2.2:
* Added support for the following platforms:
(Previously, a build on these platforms failed.)
- armv6 (Raspberry Pi): Linux.
- hppa: Linux 32-bit.
- riscv32: Linux with ilp32d ABI.
- riscv64: Linux with lp64d ABI.
* The build for the mips 32-bit ABI is now compatible with toolchains for
the 'fpxx' ABI variant. The downside is that the mips1 architecture is
no longer supported.
* Fixed a bug regarding passing of more than 8 arguments on the following
platforms:
- arm64: Linux 64-bit.
* Fixed a stack corruption bug on the following platforms:
- hppa: HP-UX 32-bit.
New in 2.1:
* Added support for the following platforms:
(Previously, a build on these platforms failed.)
- arm: Linux with PIE-enabled gcc.
- x86_64: Solaris 11.3.
- OpenBSD 6.1.
- HardenedBSD 10 and 11.
* Fixed a bug regarding passing of pointers on the following platforms:
- x86_64: Linux with x32 ABI: CC="gcc -mx32".
* Fixed a crash in trampoline on the following platforms:
- mips: Linux with CC="gcc -mabi=64", little endian.
New in 2.0:
* The package now installs a library libffcall.{a,so}. It contains the
'avcall' and 'callback' packages. The libraries libavcall.{a,so} and
libcallback.{a,so} are still installed as well, but are deprecated.
* The installed libraries are now installed as shared libraries by default
(except for libvacall, which is still a static library only).
* The installed shared libraries are now properly versioned. This means that
when installing with --enable-shared, upgrading to a newer version of
libffcall will not break existing binaries.
* The installed include files are now platform independent. This means that
you can now install libffcall for different ABIs on the same system, using
the same --prefix option but different --exec-prefix options for each ABI.
* API changes in <trampoline.h>:
- The second argument of alloc_trampoline() is now a 'void**', rather
than a 'void*'.
- The return value of trampoline_variable() is now a 'void**', rather
than a 'void*'.
- The argument of trampoline_address(), trampoline_variable(),
trampoline_data() is now a function pointer instead of a 'void*'.
* API changes in <callback.h>:
- The argument of callback_address(), callback_data() is now a function
pointer instead of a 'void*'.
* Fixed a bug regarding floating-point arguments followed by
non-floating-point arguments on the following platforms:
- arm: Linux 32-bit, with hardware floats.
- powerpc: Linux 32-bit.
- s390: Linux.
* Fixed a bug regarding structure returns on the following platforms:
- i386: FreeBSD.
- i386: MinGW.
- mips: old 32-bit ABI (Linux, IRIX).
* Added support for the following platforms:
(Previously, a build on these platforms failed.)
- i386: MSVC 14.
- x86_64: Cygwin.
- x86_64: MinGW.
- x86_64: MSVC 14.
- hppa64: HP-UX 11.
- m68k: Linux.
* Verified support for the following platforms:
(A build on these platforms worked and still works.)
- i386: FreeBSD, NetBSD, OpenBSD, DragonFly BSD.
- i386: Hurd.
- x86_64: FreeBSD, NetBSD, OpenBSD.
New in 1.13:
* The license has been changed from GPLv2 to GPLv2+.
* Added support for the following platforms:
(Previously, a build on these platforms failed.)
- x86_64: Mac OS X 64-bit.
- x86_64: Solaris 64-bit.
- x86_64: Linux with x32 ABI: CC="gcc -mx32".
- arm: Linux 32-bit, without hardware floats.
- arm64: Linux 64-bit.
- s390x: Linux 64-bit.
- powerpc: AIX 64-bit.
- mips: IRIX 6.5 with CC="cc -32".
- sparc: Solaris 64-bit.
* Fixed support for the following platforms:
(Previously, a build on these platforms appeared to succeed but was buggy.)
- x86_64: Linux.
- arm: Linux 32-bit, with hardware floats.
- powerpc: Linux 64-bit.
- mips: Linux with CC="gcc -mabi=32".
- mips: Linux with CC="gcc -mabi=n32".
- mips: Linux with CC="gcc -mabi=64".
- mips: IRIX 6.5 with CC="gcc -mabi=n32".
- s390: Linux.
- sparc: Linux 64-bit.
- ia64: Linux.
- hppa: HP-UX 32-bit.
* Verified support for the following platforms:
(A build on these platforms worked and still works.)
- i386: Linux, Solaris, Mac OS X.
- powerpc: Linux 32-bit.
- powerpc: AIX 32-bit.
- powerpc: MacOS X.
- mips: IRIX 6.5 with CC="cc -n32".
- sparc: Solaris 32-bit.
- sparc: Linux 32-bit: CC="gcc -m32".
- alpha: Linux.
* Support for a security feature: On Linux and FreeBSD platforms, linking with
the libffcall libraries no longer causes the stack to become executable.
New in 1.12:
* Added ppc64le to the list of supported architectures.
New in 1.11:
* Header now define LIBFFCALL_VERSION (to 0x010B).
* Better support for IA64 on Linux (kernel 2.6.16+ and gcc 4.1.0+).
* Added ARM support from Jonathan Olson (debian 1.10-2).
* Added MIPSel support from Thiemo Seufer (debian 1.10-2).
* Added ARMel support from Max Lapan.
New in 1.10:
* Added support for PowerPC NetBSD.
New in 1.9:
* Added support for x86_64 (AMD64) Linux.
* Added support for PowerPC MacOS X.
New in 1.8:
* Added support for IA64 Linux.
New in 1.7:
* Struct types containing elements other than int, long, long long, pointer
are not supported any more. Passing them as arguments and results is too
hairy.
* Added support for PowerPC Linux.
New in 1.6:
* The avcall and callback packages are compiled as position-independent code,
if CC="gcc -fPIC".
* The avcall and callback packages are built as shared libraries, if
the option "--enable-shared" is passed to configure.
* The package can now be built with CC="gcc -x c++".
* Improved RS6000/PowerPC support.
* Improved support for gcc on Irix6 (-n32 ABI).
* Added preliminary support for 64-bit SPARC.
New in 1.5:
* Added support for m68k Linux.
New in 1.4:
* Added support for the two new ABIs on Irix6 (-n32, -64).
* A fix for DEC Alpha.
New in 1.3.1:
* Added support for Mingw32 on Win32.
* Fixed a compilation problem in trampoline on m68k NetBSD.
* Fixed an installation problem with clisp: When configured outside the source
directory, callback.h would not be copied into the build directory.
New in 1.3:
* Added the callback package, a reentrant combination of vacall and trampoline.
* The avcall and callback packages are multithread-safe.
* Fixed bugs in trampoline on hppa and rs6000.
* On hppa, added support for gcc-2.7.2, although its calling convention is
different from gcc-2.6.3.
New in 1.2.1:
* Added support for MSVC5 on Win32.
New in 1.2:
* Support passing/returning values of type ‘long long’ and ‘unsigned long long’
on platforms which have these types.
* Support for "stdcall" calling convention on i386.
* Added support for Cygwin32 and MSVC4 on Win32.
* Added support for EMX on OS/2.
* Added support for m68k AmigaOS (Jörg Höhle).
* Added support for m68k SunOS 4.0.3.
* More reliable cache-flushing in trampoline.
New in 1.1:
* Added support for SUNWspro cc on Sparc Solaris.
* Added support for AIX 4.
* Added preliminary support for 64-bit MIPS.