Skip to content

Commit 6a763c2

Browse files
committed
update the bundled libffi to the v3.0.11 release
1 parent fcb06f7 commit 6a763c2

File tree

201 files changed

+5059
-33860
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

201 files changed

+5059
-33860
lines changed

deps/libffi/ChangeLog

Lines changed: 382 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,374 @@
1+
2012-04-11 Anthony Green <[email protected]>
2+
3+
* Makefile.am (EXTRA_DIST): Add new script.
4+
* Makefile.in: Rebuilt.
5+
6+
2012-04-11 Zachary Waldowski <[email protected]>
7+
8+
* generate-ios-source-and-headers.py,
9+
libffi.xcodeproj/project.pbxproj: Support a Mac static library via
10+
Xcode. Set iOS compatibility to 4.0. Move iOS trampoline
11+
generation into an Xcode "run script" phase. Include both as
12+
Xcode build scripts. Don't always regenerate config files.
13+
14+
2012-04-10 Anthony Green <[email protected]>
15+
16+
* src/powerpc/ffi_darwin.c (ffi_prep_args): Add missing semicolon.
17+
18+
2012-04-06 Anthony Green <[email protected]>
19+
20+
* Makefile.am (EXTRA_DIST): Add new iOS/xcode files.
21+
* Makefile.in: Rebuilt.
22+
23+
2012-04-06 Mike Lewis <[email protected]>
24+
25+
* generate-ios-source-and-headers.py: New file.
26+
* libffi.xcodeproj/project.pbxproj: New file.
27+
* README: Update instructions on building iOS binary.
28+
* build-ios.sh: Delete.
29+
30+
2012-04-06 H.J. Lu <[email protected]>
31+
32+
* m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32.
33+
34+
2012-04-06 Anthony Green <[email protected]>
35+
36+
* src/x86/ffi64.c (UINT128): Define differently for Intel and GNU
37+
compilers, then use it.
38+
39+
2012-04-06 Anthony Green <[email protected]>
40+
41+
* testsuite/Makefile.am (EXTRA_DIST): Add missing test cases.
42+
* testsuite/Makefile.in: Rebuilt.
43+
44+
2012-04-05 Zachary Waldowski <[email protected]>
45+
46+
* include/ffi.h.in: Add missing trampoline table fields.
47+
* src/arm/sysv.S: Fix ENTRY definition, and wrap symbol references
48+
in CNAME.
49+
* src/x86/ffi.c: Wrap Windows specific code in ifdefs.
50+
51+
2012-04-02 Peter Rosin <[email protected]>
52+
53+
* src/x86/win32.S (ffi_call_win32): Sign/zero extend the return
54+
value in the Intel version as is already done for the AT&T version.
55+
(ffi_closure_SYSV): Likewise.
56+
(ffi_closure_raw_SYSV): Likewise.
57+
(ffi_closure_STDCALL): Likewise.
58+
59+
2012-03-29 Peter Rosin <[email protected]>
60+
61+
* src/x86/win32.S (ffi_closure_raw_THISCALL): Unify the frame
62+
generation, fix the ENDP label and remove the surplus third arg
63+
from the 'lea' insn.
64+
65+
2012-03-29 Peter Rosin <[email protected]>
66+
67+
* src/x86/win32.S (ffi_closure_raw_SYSV): Make the 'stubraw' label
68+
visible outside the PROC, so that ffi_closure_raw_THISCALL can see
69+
it. Also instruct the assembler to add a frame to the function.
70+
71+
2012-03-23 Peter Rosin <[email protected]>
72+
73+
* Makefile.am (AM_CPPFLAGS): Add -DFFI_BUILDING.
74+
* Makefile.in: Rebuilt.
75+
* include/ffi.h.in [MSVC]: Add __declspec(dllimport) decorations
76+
to all data exports, when compiling libffi clients using MSVC.
77+
78+
2012-03-29 Peter Rosin <[email protected]>
79+
80+
* src/x86/ffitarget.h (ffi_abi): Add new ABI FFI_MS_CDECL and
81+
make it the default for MSVC.
82+
(FFI_TYPE_MS_STRUCT): New structure return convention.
83+
* src/x86/ffi.c (ffi_prep_cif_machdep): Tweak the structure
84+
return convention for FFI_MS_CDECL to be FFI_TYPE_MS_STRUCT
85+
instead of an ordinary FFI_TYPE_STRUCT.
86+
(ffi_prep_args): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
87+
(ffi_call): Likewise.
88+
(ffi_prep_incoming_args_SYSV): Likewise.
89+
(ffi_raw_call): Likewise.
90+
(ffi_prep_closure_loc): Treat FFI_MS_CDECL as FFI_SYSV.
91+
* src/x86/win32.S (ffi_closure_SYSV): For FFI_TYPE_MS_STRUCT,
92+
return a pointer to the result structure in eax and don't pop
93+
that pointer from the stack, the caller takes care of it.
94+
(ffi_call_win32): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
95+
(ffi_closure_raw_SYSV): Likewise.
96+
97+
2012-03-22 Peter Rosin <[email protected]>
98+
99+
* testsuite/libffi.call/closure_stdcall.c [MSVC]: Add inline
100+
assembly version with Intel syntax.
101+
* testsuite/libffi.call/closure_thiscall.c [MSVC]: Likewise.
102+
103+
2012-03-23 Peter Rosin <[email protected]>
104+
105+
* testsuite/libffi.call/ffitest.h: Provide abstration of
106+
__attribute__((fastcall)) in the form of a __FASTCALL__
107+
define. Define it to __fastcall for MSVC.
108+
* testsuite/libffi.call/fastthis1_win32.c: Use the above.
109+
* testsuite/libffi.call/fastthis2_win32.c: Likewise.
110+
* testsuite/libffi.call/fastthis3_win32.c: Likewise.
111+
* testsuite/libffi.call/strlen2_win32.c: Likewise.
112+
* testsuite/libffi.call/struct1_win32.c: Likewise.
113+
* testsuite/libffi.call/struct2_win32.c: Likewise.
114+
115+
2012-03-22 Peter Rosin <[email protected]>
116+
117+
* src/x86/win32.S [MSVC] (ffi_closure_THISCALL): Remove the manual
118+
frame on function entry, MASM adds one automatically.
119+
120+
2012-03-22 Peter Rosin <[email protected]>
121+
122+
* testsuite/libffi.call/ffitest.h [MSVC]: Add kludge for missing
123+
bits in the MSVC headers.
124+
125+
2012-03-22 Peter Rosin <[email protected]>
126+
127+
* testsuite/libffi.call/cls_12byte.c: Adjust to the C89 style
128+
with no declarations after statements.
129+
* testsuite/libffi.call/cls_16byte.c: Likewise.
130+
* testsuite/libffi.call/cls_18byte.c: Likewise.
131+
* testsuite/libffi.call/cls_19byte.c: Likewise.
132+
* testsuite/libffi.call/cls_1_1byte.c: Likewise.
133+
* testsuite/libffi.call/cls_20byte.c: Likewise.
134+
* testsuite/libffi.call/cls_20byte1.c: Likewise.
135+
* testsuite/libffi.call/cls_24byte.c: Likewise.
136+
* testsuite/libffi.call/cls_2byte.c: Likewise.
137+
* testsuite/libffi.call/cls_3_1byte.c: Likewise.
138+
* testsuite/libffi.call/cls_3byte1.c: Likewise.
139+
* testsuite/libffi.call/cls_3byte2.c: Likewise.
140+
* testsuite/libffi.call/cls_4_1byte.c: Likewise.
141+
* testsuite/libffi.call/cls_4byte.c: Likewise.
142+
* testsuite/libffi.call/cls_5_1_byte.c: Likewise.
143+
* testsuite/libffi.call/cls_5byte.c: Likewise.
144+
* testsuite/libffi.call/cls_64byte.c: Likewise.
145+
* testsuite/libffi.call/cls_6_1_byte.c: Likewise.
146+
* testsuite/libffi.call/cls_6byte.c: Likewise.
147+
* testsuite/libffi.call/cls_7_1_byte.c: Likewise.
148+
* testsuite/libffi.call/cls_7byte.c: Likewise.
149+
* testsuite/libffi.call/cls_8byte.c: Likewise.
150+
* testsuite/libffi.call/cls_9byte1.c: Likewise.
151+
* testsuite/libffi.call/cls_9byte2.c: Likewise.
152+
* testsuite/libffi.call/cls_align_double.c: Likewise.
153+
* testsuite/libffi.call/cls_align_float.c: Likewise.
154+
* testsuite/libffi.call/cls_align_longdouble.c: Likewise.
155+
* testsuite/libffi.call/cls_align_longdouble_split.c: Likewise.
156+
* testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
157+
* testsuite/libffi.call/cls_align_pointer.c: Likewise.
158+
* testsuite/libffi.call/cls_align_sint16.c: Likewise.
159+
* testsuite/libffi.call/cls_align_sint32.c: Likewise.
160+
* testsuite/libffi.call/cls_align_sint64.c: Likewise.
161+
* testsuite/libffi.call/cls_align_uint16.c: Likewise.
162+
* testsuite/libffi.call/cls_align_uint32.c: Likewise.
163+
* testsuite/libffi.call/cls_align_uint64.c: Likewise.
164+
* testsuite/libffi.call/cls_dbls_struct.c: Likewise.
165+
* testsuite/libffi.call/cls_pointer_stack.c: Likewise.
166+
* testsuite/libffi.call/err_bad_typedef.c: Likewise.
167+
* testsuite/libffi.call/huge_struct.c: Likewise.
168+
* testsuite/libffi.call/nested_struct.c: Likewise.
169+
* testsuite/libffi.call/nested_struct1.c: Likewise.
170+
* testsuite/libffi.call/nested_struct10.c: Likewise.
171+
* testsuite/libffi.call/nested_struct2.c: Likewise.
172+
* testsuite/libffi.call/nested_struct3.c: Likewise.
173+
* testsuite/libffi.call/nested_struct4.c: Likewise.
174+
* testsuite/libffi.call/nested_struct5.c: Likewise.
175+
* testsuite/libffi.call/nested_struct6.c: Likewise.
176+
* testsuite/libffi.call/nested_struct7.c: Likewise.
177+
* testsuite/libffi.call/nested_struct8.c: Likewise.
178+
* testsuite/libffi.call/nested_struct9.c: Likewise.
179+
* testsuite/libffi.call/stret_large.c: Likewise.
180+
* testsuite/libffi.call/stret_large2.c: Likewise.
181+
* testsuite/libffi.call/stret_medium.c: Likewise.
182+
* testsuite/libffi.call/stret_medium2.c: Likewise.
183+
* testsuite/libffi.call/struct1.c: Likewise.
184+
* testsuite/libffi.call/struct1_win32.c: Likewise.
185+
* testsuite/libffi.call/struct2.c: Likewise.
186+
* testsuite/libffi.call/struct2_win32.c: Likewise.
187+
* testsuite/libffi.call/struct3.c: Likewise.
188+
* testsuite/libffi.call/struct4.c: Likewise.
189+
* testsuite/libffi.call/struct5.c: Likewise.
190+
* testsuite/libffi.call/struct6.c: Likewise.
191+
* testsuite/libffi.call/struct7.c: Likewise.
192+
* testsuite/libffi.call/struct8.c: Likewise.
193+
* testsuite/libffi.call/struct9.c: Likewise.
194+
* testsuite/libffi.call/testclosure.c: Likewise.
195+
196+
2012-03-06 Chung-Lin Tang <[email protected]>
197+
198+
* src/arm/ffi.c (ffi_call): Add __ARM_EABI__ guard around call to
199+
ffi_call_VFP().
200+
(ffi_prep_closure_loc): Add __ARM_EABI__ guard around use of
201+
ffi_closure_VFP.
202+
* src/arm/sysv.S: Add __ARM_EABI__ guard around VFP code.
203+
204+
2012-03-21 Peter Rosin <[email protected]>
205+
206+
* testsuite/libffi.call/float_va.c (float_va_fn): Use %f when
207+
printing doubles (%lf is for long doubles).
208+
(main): Likewise.
209+
210+
2012-03-21 Peter Rosin <[email protected]>
211+
212+
* testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
213+
(set_ld_library_path_env_vars): Add the library search dir to PATH
214+
(and save PATH for later).
215+
(restore_ld_library_path_env_vars): Restore PATH.
216+
217+
2012-03-20 Peter Rosin <[email protected]>
218+
219+
* testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
220+
* src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
221+
visible outside the PROC, so that ffi_closure_THISCALL can see it.
222+
223+
2012-03-19 Alan Hourihane <[email protected]>
224+
225+
* src/m68k/ffi.c: Add MINT support.
226+
* src/m68k/sysv.S: Ditto.
227+
228+
2012-03-19 chennam <[email protected]>
229+
230+
* src/powerpc/ffi_darwin.c (ffi_prep_closure_loc): Fix AIX closure
231+
support.
232+
233+
2012-04-02 Peter Bergner <[email protected]>
234+
235+
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Declare double_tmp.
236+
Silence casting pointer to integer of different size warning.
237+
Delete goto to previously deleted label.
238+
(ffi_call): Silence possibly undefined warning.
239+
(ffi_closure_helper_SYSV): Declare variable type.
240+
241+
2012-03-13 Kaz Kojima <[email protected]>
242+
243+
* src/sh/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
244+
just return FFI_BAD_ABI when things are wrong.
245+
* src/sh64/ffi.c (ffi_prep_closure_loc): Ditto.
246+
247+
2012-03-09 David Edelsohn <[email protected]>
248+
249+
* src/powerpc/aix_closure.S (ffi_closure_ASM): Adjust for Darwin64
250+
change to return value of ffi_closure_helper_DARWIN and load type
251+
from return type.
252+
253+
2012-03-03 H.J. Lu <[email protected]>
254+
255+
* src/x86/ffi64.c (ffi_call): Cast the return value to unsigned
256+
long.
257+
(ffi_prep_closure_loc): Cast to 64bit address in trampoline.
258+
(ffi_closure_unix64_inner): Cast return pointer to unsigned long
259+
first.
260+
261+
* src/x86/ffitarget.h (FFI_SIZEOF_ARG): Defined to 8 for x32.
262+
(ffi_arg): Set to unsigned long long for x32.
263+
(ffi_sarg): Set to long long for x32.
264+
265+
2012-03-03 H.J. Lu <[email protected]>
266+
267+
* src/prep_cif.c (ffi_prep_cif_core): Properly check bad ABI.
268+
269+
2012-03-03 Andoni Morales Alastruey <[email protected]>
270+
271+
* configure.ac: Add -no-undefined for both 32- and 64-bit x86
272+
windows-like hosts.
273+
* configure: Rebuilt.
274+
275+
2012-02-27 Mikael Pettersson <[email protected]>
276+
277+
PR libffi/52223
278+
* Makefile.am (FLAGS_TO_PASS): Define.
279+
* Makefile.in: Regenerate.
280+
281+
2012-02-23 Anthony Green <[email protected]>
282+
283+
* src/*/ffitarget.h: Ensure that users never include ffitarget.h
284+
directly.
285+
286+
2012-02-23 Kai Tietz <[email protected]>
287+
288+
PR libffi/52221
289+
* src/x86/ffi.c (ffi_closure_raw_THISCALL): New
290+
prototype.
291+
(ffi_prep_raw_closure_loc): Use ffi_closure_raw_THISCALL for
292+
thiscall-convention.
293+
(ffi_raw_call): Use ffi_prep_args_raw.
294+
* src/x86/win32.S (ffi_closure_raw_THISCALL): Add
295+
implementation for stub.
296+
297+
2012-02-10 Kai Tietz <[email protected]>
298+
299+
* configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
300+
windows target.
301+
* configure: Regenerated.
302+
303+
2012-02-08 Kai Tietz <[email protected]>
304+
305+
* src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
306+
also FFI_THISCALL.
307+
* src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
308+
(FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
309+
(ffi_prep_closure_loc): Add FFI_THISCALL support.
310+
* src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
311+
* src/x86/win32.S (ffi_closure_THISCALL): New closure code
312+
for thiscall-calling convention.
313+
* testsuite/libffi.call/closure_thiscall.c: New test.
314+
315+
2012-01-28 Kai Tietz <[email protected]>
316+
317+
* src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
318+
argument to prototype for specify calling-convention.
319+
(ffi_call): Add support for stdcall/thiscall convention.
320+
(ffi_prep_args): Likewise.
321+
(ffi_raw_call): Likewise.
322+
* src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
323+
FFI_FASTCALL.
324+
* src/x86/win32.S (_ffi_call_win32): Add support for
325+
fastcall/thiscall calling-convention calls.
326+
* testsuite/libffi.call/fastthis1_win32.c: New test.
327+
* testsuite/libffi.call/fastthis2_win32.c: New test.
328+
* testsuite/libffi.call/fastthis3_win32.c: New test.
329+
* testsuite/libffi.call/strlen2_win32.c: New test.
330+
* testsuite/libffi.call/many2_win32.c: New test.
331+
* testsuite/libffi.call/struct1_win32.c: New test.
332+
* testsuite/libffi.call/struct2_win32.c: New test.
333+
334+
2012-01-23 Uros Bizjak <[email protected]>
335+
336+
* src/alpha/ffi.c (ffi_prep_closure_loc): Check for bad ABI.
337+
338+
2012-01-23 Anthony Green <[email protected]>
339+
Chris Young <[email protected]>
340+
341+
* configure.ac: Add Amiga support.
342+
* configure: Rebuilt.
343+
344+
2012-01-23 Dmitry Nadezhin <[email protected]>
345+
346+
* include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions.
347+
348+
2012-01-23 Andreas Schwab <[email protected]>
349+
350+
* src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
351+
mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
352+
353+
2012-01-19 Jakub Jelinek <[email protected]>
354+
355+
PR rtl-optimization/48496
356+
* src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
357+
358+
2012-01-09 Rainer Orth <[email protected]>
359+
360+
* configure.ac (i?86-*-*): Set TARGET to X86_64.
361+
* configure: Regenerate.
362+
363+
2011-12-07 Andrew Pinski <[email protected]>
364+
365+
PR libffi/50051
366+
* src/mips/n32.S: Add ".set mips4".
367+
368+
2011-11-21 Andreas Tobler <[email protected]>
369+
370+
* configure: Regenerate.
371+
1372
2011-11-12 David Gilbert <[email protected]>
2373

3374
* doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
@@ -148,6 +519,10 @@
148519
* src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
149520
just return FFI_BAD_ABI when things are wrong.
150521

522+
2012-02-11 Eric Botcazou <[email protected]>
523+
524+
* src/sparc/v9.S (STACKFRAME): Bump to 176.
525+
151526
2011-02-09 Stuart Shelton <[email protected]>
152527

153528
http://bugs.gentoo.org/show_bug.cgi?id=286911
@@ -676,6 +1051,13 @@
6761051
* src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
6771052
type on HP-UX.
6781053

1054+
2012-02-13 Kai Tietz <[email protected]>
1055+
1056+
PR libffi/52221
1057+
* src/x86/ffi.c (ffi_prep_raw_closure_loc): Add thiscall
1058+
support for X86_WIN32.
1059+
(FFI_INIT_TRAMPOLINE_THISCALL): Fix displacement.
1060+
6791061
2009-12-11 Eric Botcazou <[email protected]>
6801062

6811063
* src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long

0 commit comments

Comments
 (0)