Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 5074 lines (3926 sloc) 178.578 kB
d330f19 iOS build fixes.
Nicolas Lelong authored
1 2012-05-05 Nicolas Lelong
2
3 * libffi.xcodeproj/project.pbxproj: Fixes.
4 * README: Update for iOS builds.
5
213ed15 @atgreen Add blackfin supprt from Alexandre Keunecke.
atgreen authored
6 2012-04-23 Alexandre Keunecke I. de Mendonca <alexandre.keunecke@gmail.com>
7
8 * configure.ac: Add Blackfin/sysv support
9 * Makefile.am: Add Blackfin/sysv support
10 * src/bfin/ffi.c: Add Blackfin/sysv support
11 * src/bfin/ffitarget.h: Add Blackfin/sysv support
12 * src/bfin/sysv.S: Add Blackfin/sysv support
13
7e0a412 @atgreen Update files to ship
atgreen authored
14 2012-04-11 Anthony Green <green@moxielogic.com>
15
16 * Makefile.am (EXTRA_DIST): Add new script.
17 * Makefile.in: Rebuilt.
18
39e6a58 @zwaldowski More mac/ios build improvements
zwaldowski authored
19 2012-04-11 Zachary Waldowski <zwaldowski@gmail.com>
20
21 * generate-ios-source-and-headers.py,
22 libffi.xcodeproj/project.pbxproj: Support a Mac static library via
23 Xcode. Set iOS compatibility to 4.0. Move iOS trampoline
24 generation into an Xcode "run script" phase. Include both as
25 Xcode build scripts. Don't always regenerate config files.
26
853cc72 @atgreen Fix typo for darwin targets
atgreen authored
27 2012-04-10 Anthony Green <green@moxielogic.com>
28
29 * src/powerpc/ffi_darwin.c (ffi_prep_args): Add missing semicolon.
30
3f50230 @atgreen mend
atgreen authored
31 2012-04-06 Anthony Green <green@moxielogic.com>
32
33 * Makefile.am (EXTRA_DIST): Add new iOS/xcode files.
34 * Makefile.in: Rebuilt.
35
ebb8e89 @mikelikespie Build iOS library with xcode
mikelikespie authored
36 2012-04-06 Mike Lewis <mikelikespie@gmail.com>
37
38 * generate-ios-source-and-headers.py: New file.
39 * libffi.xcodeproj/project.pbxproj: New file.
40 * README: Update instructions on building iOS binary.
41 * build-ios.sh: Delete.
42
a044a56 @atgreen Linux/x32 libtool fix
atgreen authored
43 2012-04-06 H.J. Lu <hongjiu.lu@intel.com>
44
45 * m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32.
46
47 2012-04-06 Anthony Green <green@moxielogic.com>
48
49 * src/x86/ffi64.c (UINT128): Define differently for Intel and GNU
50 compilers, then use it.
51
59bb61a @atgreen Update libtool version, README, tests dists
atgreen authored
52 2012-04-06 Anthony Green <green@moxielogic.com>
53
54 * testsuite/Makefile.am (EXTRA_DIST): Add missing test cases.
55 * testsuite/Makefile.in: Rebuilt.
56
39dccdd @zwaldowski Fix building with Clang for Darwin (OS X 10.6+ and iOS
zwaldowski authored
57 2012-04-05 Zachary Waldowski <zwaldowski@gmail.com>
58
59 * include/ffi.h.in: Add missing trampoline table fields.
60 * src/arm/sysv.S: Fix ENTRY definition, and wrap symbol references
61 in CNAME.
62 * src/x86/ffi.c: Wrap Windows specific code in ifdefs.
63
3afaa9a @peda-r Fix return_uc.c test case on windows.
peda-r authored
64 2012-04-02 Peter Rosin <peda@lysator.liu.se>
65
66 * src/x86/win32.S (ffi_call_win32): Sign/zero extend the return
67 value in the Intel version as is already done for the AT&T version.
68 (ffi_closure_SYSV): Likewise.
69 (ffi_closure_raw_SYSV): Likewise.
70 (ffi_closure_STDCALL): Likewise.
71
0a1ab12 @peda-r Various MSVC-related changes.
peda-r authored
72 2012-03-29 Peter Rosin <peda@lysator.liu.se>
73
74 * src/x86/win32.S (ffi_closure_raw_THISCALL): Unify the frame
75 generation, fix the ENDP label and remove the surplus third arg
76 from the 'lea' insn.
77
78 2012-03-29 Peter Rosin <peda@lysator.liu.se>
79
80 * src/x86/win32.S (ffi_closure_raw_SYSV): Make the 'stubraw' label
81 visible outside the PROC, so that ffi_closure_raw_THISCALL can see
82 it. Also instruct the assembler to add a frame to the function.
83
84 2012-03-23 Peter Rosin <peda@lysator.liu.se>
85
86 * Makefile.am (AM_CPPFLAGS): Add -DFFI_BUILDING.
87 * Makefile.in: Rebuilt.
88 * include/ffi.h.in [MSVC]: Add __declspec(dllimport) decorations
89 to all data exports, when compiling libffi clients using MSVC.
90
91 2012-03-29 Peter Rosin <peda@lysator.liu.se>
92
93 * src/x86/ffitarget.h (ffi_abi): Add new ABI FFI_MS_CDECL and
94 make it the default for MSVC.
95 (FFI_TYPE_MS_STRUCT): New structure return convention.
96 * src/x86/ffi.c (ffi_prep_cif_machdep): Tweak the structure
97 return convention for FFI_MS_CDECL to be FFI_TYPE_MS_STRUCT
98 instead of an ordinary FFI_TYPE_STRUCT.
99 (ffi_prep_args): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
100 (ffi_call): Likewise.
101 (ffi_prep_incoming_args_SYSV): Likewise.
102 (ffi_raw_call): Likewise.
103 (ffi_prep_closure_loc): Treat FFI_MS_CDECL as FFI_SYSV.
104 * src/x86/win32.S (ffi_closure_SYSV): For FFI_TYPE_MS_STRUCT,
105 return a pointer to the result structure in eax and don't pop
106 that pointer from the stack, the caller takes care of it.
107 (ffi_call_win32): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
108 (ffi_closure_raw_SYSV): Likewise.
109
110 2012-03-22 Peter Rosin <peda@lysator.liu.se>
111
112 * testsuite/libffi.call/closure_stdcall.c [MSVC]: Add inline
113 assembly version with Intel syntax.
114 * testsuite/libffi.call/closure_thiscall.c [MSVC]: Likewise.
115
116 2012-03-23 Peter Rosin <peda@lysator.liu.se>
117
118 * testsuite/libffi.call/ffitest.h: Provide abstration of
119 __attribute__((fastcall)) in the form of a __FASTCALL__
120 define. Define it to __fastcall for MSVC.
121 * testsuite/libffi.call/fastthis1_win32.c: Use the above.
122 * testsuite/libffi.call/fastthis2_win32.c: Likewise.
123 * testsuite/libffi.call/fastthis3_win32.c: Likewise.
124 * testsuite/libffi.call/strlen2_win32.c: Likewise.
125 * testsuite/libffi.call/struct1_win32.c: Likewise.
126 * testsuite/libffi.call/struct2_win32.c: Likewise.
127
128 2012-03-22 Peter Rosin <peda@lysator.liu.se>
129
130 * src/x86/win32.S [MSVC] (ffi_closure_THISCALL): Remove the manual
131 frame on function entry, MASM adds one automatically.
132
133 2012-03-22 Peter Rosin <peda@lysator.liu.se>
134
135 * testsuite/libffi.call/ffitest.h [MSVC]: Add kludge for missing
136 bits in the MSVC headers.
137
138 2012-03-22 Peter Rosin <peda@lysator.liu.se>
139
140 * testsuite/libffi.call/cls_12byte.c: Adjust to the C89 style
141 with no declarations after statements.
142 * testsuite/libffi.call/cls_16byte.c: Likewise.
143 * testsuite/libffi.call/cls_18byte.c: Likewise.
144 * testsuite/libffi.call/cls_19byte.c: Likewise.
145 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
146 * testsuite/libffi.call/cls_20byte.c: Likewise.
147 * testsuite/libffi.call/cls_20byte1.c: Likewise.
148 * testsuite/libffi.call/cls_24byte.c: Likewise.
149 * testsuite/libffi.call/cls_2byte.c: Likewise.
150 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
151 * testsuite/libffi.call/cls_3byte1.c: Likewise.
152 * testsuite/libffi.call/cls_3byte2.c: Likewise.
153 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
154 * testsuite/libffi.call/cls_4byte.c: Likewise.
155 * testsuite/libffi.call/cls_5_1_byte.c: Likewise.
156 * testsuite/libffi.call/cls_5byte.c: Likewise.
157 * testsuite/libffi.call/cls_64byte.c: Likewise.
158 * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
159 * testsuite/libffi.call/cls_6byte.c: Likewise.
160 * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
161 * testsuite/libffi.call/cls_7byte.c: Likewise.
162 * testsuite/libffi.call/cls_8byte.c: Likewise.
163 * testsuite/libffi.call/cls_9byte1.c: Likewise.
164 * testsuite/libffi.call/cls_9byte2.c: Likewise.
165 * testsuite/libffi.call/cls_align_double.c: Likewise.
166 * testsuite/libffi.call/cls_align_float.c: Likewise.
167 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
168 * testsuite/libffi.call/cls_align_longdouble_split.c: Likewise.
169 * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
170 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
171 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
172 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
173 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
174 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
175 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
176 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
177 * testsuite/libffi.call/cls_dbls_struct.c: Likewise.
178 * testsuite/libffi.call/cls_pointer_stack.c: Likewise.
179 * testsuite/libffi.call/err_bad_typedef.c: Likewise.
180 * testsuite/libffi.call/huge_struct.c: Likewise.
181 * testsuite/libffi.call/nested_struct.c: Likewise.
182 * testsuite/libffi.call/nested_struct1.c: Likewise.
183 * testsuite/libffi.call/nested_struct10.c: Likewise.
184 * testsuite/libffi.call/nested_struct2.c: Likewise.
185 * testsuite/libffi.call/nested_struct3.c: Likewise.
186 * testsuite/libffi.call/nested_struct4.c: Likewise.
187 * testsuite/libffi.call/nested_struct5.c: Likewise.
188 * testsuite/libffi.call/nested_struct6.c: Likewise.
189 * testsuite/libffi.call/nested_struct7.c: Likewise.
190 * testsuite/libffi.call/nested_struct8.c: Likewise.
191 * testsuite/libffi.call/nested_struct9.c: Likewise.
192 * testsuite/libffi.call/stret_large.c: Likewise.
193 * testsuite/libffi.call/stret_large2.c: Likewise.
194 * testsuite/libffi.call/stret_medium.c: Likewise.
195 * testsuite/libffi.call/stret_medium2.c: Likewise.
196 * testsuite/libffi.call/struct1.c: Likewise.
197 * testsuite/libffi.call/struct1_win32.c: Likewise.
198 * testsuite/libffi.call/struct2.c: Likewise.
199 * testsuite/libffi.call/struct2_win32.c: Likewise.
200 * testsuite/libffi.call/struct3.c: Likewise.
201 * testsuite/libffi.call/struct4.c: Likewise.
202 * testsuite/libffi.call/struct5.c: Likewise.
203 * testsuite/libffi.call/struct6.c: Likewise.
204 * testsuite/libffi.call/struct7.c: Likewise.
205 * testsuite/libffi.call/struct8.c: Likewise.
206 * testsuite/libffi.call/struct9.c: Likewise.
207 * testsuite/libffi.call/testclosure.c: Likewise.
208
209 2012-03-06 Chung-Lin Tang <cltang@codesourcery.com>
e153926 @atgreen ARM VFP fix for old toolchains
atgreen authored
210
211 * src/arm/ffi.c (ffi_call): Add __ARM_EABI__ guard around call to
212 ffi_call_VFP().
213 (ffi_prep_closure_loc): Add __ARM_EABI__ guard around use of
214 ffi_closure_VFP.
215 * src/arm/sysv.S: Add __ARM_EABI__ guard around VFP code.
216
e72ed5e @atgreen Fix vararg float test
atgreen authored
217 2012-03-21 Peter Rosin <peda@lysator.liu.se>
218
219 * testsuite/libffi.call/float_va.c (float_va_fn): Use %f when
220 printing doubles (%lf is for long doubles).
221 (main): Likewise.
222
bd78c9c @atgreen More cygwin fixes
atgreen authored
223 2012-03-21 Peter Rosin <peda@lysator.liu.se>
224
225 * testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
226 (set_ld_library_path_env_vars): Add the library search dir to PATH
227 (and save PATH for later).
228 (restore_ld_library_path_env_vars): Restore PATH.
229
230 2012-03-20 Peter Rosin <peda@lysator.liu.se>
231
232 * testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
233 * src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
234 visible outside the PROC, so that ffi_closure_THISCALL can see it.
235
236 2012-03-19 Alan Hourihane <alanh@fairlite.co.uk>
237
238 * src/m68k/ffi.c: Add MINT support.
239 * src/m68k/sysv.S: Ditto.
240
241 2012-03-19 chennam <csit@axway.com>
242
243 * src/powerpc/ffi_darwin.c (ffi_prep_closure_loc): Fix AIX closure
244 support.
245
65f40c3 @atgreen Repair ppc build regression.
atgreen authored
246 2012-04-02 Peter Bergner <bergner@vnet.ibm.com>
247
248 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Declare double_tmp.
249 Silence casting pointer to integer of different size warning.
250 Delete goto to previously deleted label.
251 (ffi_call): Silence possibly undefined warning.
252 (ffi_closure_helper_SYSV): Declare variable type.
253
84d3253 @atgreen Rebase post GCC merge
atgreen authored
254 2012-03-13 Kaz Kojima <kkojima@gcc.gnu.org>
255
256 * src/sh/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
257 just return FFI_BAD_ABI when things are wrong.
258 * src/sh64/ffi.c (ffi_prep_closure_loc): Ditto.
259
260 2012-03-09 David Edelsohn <dje.gcc@gmail.com>
261
262 * src/powerpc/aix_closure.S (ffi_closure_ASM): Adjust for Darwin64
263 change to return value of ffi_closure_helper_DARWIN and load type
264 from return type.
265
964c5b9 @atgreen abi check fixes and Linux/x32 support
atgreen authored
266 2012-03-03 H.J. Lu <hongjiu.lu@intel.com>
267
268 * src/x86/ffi64.c (ffi_call): Cast the return value to unsigned
269 long.
270 (ffi_prep_closure_loc): Cast to 64bit address in trampoline.
271 (ffi_closure_unix64_inner): Cast return pointer to unsigned long
272 first.
273
274 * src/x86/ffitarget.h (FFI_SIZEOF_ARG): Defined to 8 for x32.
275 (ffi_arg): Set to unsigned long long for x32.
276 (ffi_sarg): Set to long long for x32.
277
278 2012-03-03 H.J. Lu <hongjiu.lu@intel.com>
279
280 * src/prep_cif.c (ffi_prep_cif_core): Properly check bad ABI.
281
6c19423 @atgreen Add -no-undefined for both 32- and 64-bit x86
atgreen authored
282 2012-03-03 Andoni Morales Alastruey <ylatuya@gmail.com>
283
284 * configure.ac: Add -no-undefined for both 32- and 64-bit x86
285 windows-like hosts.
286 * configure: Rebuilt.
287
7c5e60b @atgreen Rebase on fixed GCC sources
atgreen authored
288 2012-02-27 Mikael Pettersson <mikpe@it.uu.se>
289
290 PR libffi/52223
291 * Makefile.am (FLAGS_TO_PASS): Define.
292 * Makefile.in: Regenerate.
293
8360bf1 @atgreen Ensure that users don't include ffitarget.h directly
atgreen authored
294 2012-02-23 Anthony Green <green@moxielogic.com>
295
296 * src/*/ffitarget.h: Ensure that users never include ffitarget.h
297 directly.
298
7c5e60b @atgreen Rebase on fixed GCC sources
atgreen authored
299 2012-02-23 Kai Tietz <ktietz@redhat.com>
300
301 PR libffi/52221
302 * src/x86/ffi.c (ffi_closure_raw_THISCALL): New
303 prototype.
304 (ffi_prep_raw_closure_loc): Use ffi_closure_raw_THISCALL for
305 thiscall-convention.
306 (ffi_raw_call): Use ffi_prep_args_raw.
307 * src/x86/win32.S (ffi_closure_raw_THISCALL): Add
308 implementation for stub.
309
dee20f8 @atgreen Rebased from gcc
atgreen authored
310 2012-02-10 Kai Tietz <ktietz@redhat.com>
311
312 * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
313 windows target.
314 * configure: Regenerated.
8360bf1 @atgreen Ensure that users don't include ffitarget.h directly
atgreen authored
315
dee20f8 @atgreen Rebased from gcc
atgreen authored
316 2012-02-08 Kai Tietz <ktietz@redhat.com>
317
318 * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
319 also FFI_THISCALL.
320 * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
321 (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
322 (ffi_prep_closure_loc): Add FFI_THISCALL support.
323 * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
324 * src/x86/win32.S (ffi_closure_THISCALL): New closure code
325 for thiscall-calling convention.
326 * testsuite/libffi.call/closure_thiscall.c: New test.
327
1ff9c60 @atgreen Rebase from GCC
atgreen authored
328 2012-01-28 Kai Tietz <ktietz@redhat.com>
329
330 * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
331 argument to prototype for specify calling-convention.
332 (ffi_call): Add support for stdcall/thiscall convention.
333 (ffi_prep_args): Likewise.
334 (ffi_raw_call): Likewise.
335 * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
336 FFI_FASTCALL.
337 * src/x86/win32.S (_ffi_call_win32): Add support for
338 fastcall/thiscall calling-convention calls.
339 * testsuite/libffi.call/fastthis1_win32.c: New test.
340 * testsuite/libffi.call/fastthis2_win32.c: New test.
341 * testsuite/libffi.call/fastthis3_win32.c: New test.
342 * testsuite/libffi.call/strlen2_win32.c: New test.
343 * testsuite/libffi.call/many2_win32.c: New test.
344 * testsuite/libffi.call/struct1_win32.c: New test.
345 * testsuite/libffi.call/struct2_win32.c: New test.
346
211060e @atgreen Alpha fix
atgreen authored
347 2012-01-23 Uros Bizjak <ubizjak@gmail.com>
348
349 * src/alpha/ffi.c (ffi_prep_closure_loc): Check for bad ABI.
350
1ff9c60 @atgreen Rebase from GCC
atgreen authored
351 2012-01-23 Anthony Green <green@moxielogic.com>
352 Chris Young <cdyoung@ntlworld.com>
9e9c4ae @atgreen Add Amiga support
atgreen authored
353
354 * configure.ac: Add Amiga support.
355 * configure: Rebuilt.
356
357 2012-01-23 Dmitry Nadezhin <dmitry.nadezhin@gmail.com>
8efc0b1 @atgreen Unlikely fixes
atgreen authored
358
359 * include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions.
360
1ff9c60 @atgreen Rebase from GCC
atgreen authored
361 2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
cd2277c @atgreen mend
atgreen authored
362
363 * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
364 mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
365
c365ee7 @atgreen Refresh
atgreen authored
366 2012-01-19 Jakub Jelinek <jakub@redhat.com>
367
368 PR rtl-optimization/48496
369 * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
370
371 2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
372
373 * configure.ac (i?86-*-*): Set TARGET to X86_64.
374 * configure: Regenerate.
375
376 2011-12-07 Andrew Pinski <apinski@cavium.com>
377
378 PR libffi/50051
379 * src/mips/n32.S: Add ".set mips4".
380
381 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
382
383 * configure: Regenerate.
384
ff9454d @atgreen Add David Gilbert's variadic function call support
atgreen authored
385 2011-11-12 David Gilbert <david.gilbert@linaro.org>
386
387 * doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
388 man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3,
389 man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h,
390 src/cris/ffi.c, src/prep_cif.c,
391 testsuite/libffi.call/cls_double_va.c,
392 testsuite/libffi.call/cls_longdouble_va.c,
393 testsuite/libffi.call/float_va.c: Many changes to support variadic
394 function calls.
395
52891f8 @atgreen Add powerpc soft float support
atgreen authored
396 2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
397
398 * src/powerpc/ffi.c, src/powerpc/ffitarget.h,
399 src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
400 softfloat powerpc variants.
401
6a6e7f8 @atgreen Fix kfreebsd
atgreen authored
402 2011-11-12 Petr Salinger <Petr.Salinger@seznam.cz>
403
404 * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
405 * configure: Rebuilt.
406
d52fbed @atgreen Add missing ChangeLog entry
atgreen authored
407 2011-11-12 Timothy Wall <twall@users.sf.net>
408
409 * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
410 alignment of 4 for wince on ARM.
411
af18df2 @atgreen Remove use of ppc string instructions
atgreen authored
412 2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
413 Anthony Green <green@moxielogic.com>
414
415 * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
416 instructions (not available on some cores, like the PPC440).
417
c411f14 @atgreen Fix ax_enable_builddir macro on BSD systems
atgreen authored
418 2011-11-12 Kimura Wataru <kimuraw@i.nifty.jp>
8c01954 @atgreen Build assembly files with debug info
atgreen authored
419
c411f14 @atgreen Fix ax_enable_builddir macro on BSD systems
atgreen authored
420 * m4/ax_enable_builddir: Change from string comparison to numeric
52891f8 @atgreen Add powerpc soft float support
atgreen authored
421 comparison for wc output.
236c939 @atgreen Fix darwin11 build problem
atgreen authored
422 * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
423 X 10.7.
424 * configure: Rebuilt.
ee6696f @atgreen 3.0.11-rc1. soname bump.
atgreen authored
425
6a6e7f8 @atgreen Fix kfreebsd
atgreen authored
426 2011-11-12 Anthony Green <green@moxielogic.com>
427
428 * Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
429 files with debug info.
430 * Makefile.in: Rebuilt.
431
432 2011-11-12 Jasper Lievisse Adriaanse <jasper@openbsd.org>
433
434 * README: Update list of supported OpenBSD systems.
435
436 2011-11-12 Anthony Green <green@moxielogic.com>
437
438 * libtool-version: Update.
439 * Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
440 FFI_DEBUG.
441 (libffi_la_SOURCES): Remove src/debug.c
442 (EXTRA_DIST): Add src/debug.c
443 * Makefile.in: Rebuilt.
444 * README: Update for 3.0.11.
445
3d56106 @atgreen Rebase
atgreen authored
446 2011-11-10 Richard Henderson <rth@redhat.com>
049d838 @atgreen Many new patches
atgreen authored
447
3d56106 @atgreen Rebase
atgreen authored
448 * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
449 * configure, aclocal.m4: Rebuild.
450
451 2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
452
453 PR libffi/49594
454 * src/powerpc/darwin_closure.S (stubs): Make the stub binding
455 helper reference track the architecture pointer size.
456
457 2011-08-25 Andrew Haley <aph@redhat.com>
458
459 * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
460 instructions.
461 * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
049d838 @atgreen Many new patches
atgreen authored
462
d992ac5 Refresh from GCC
Anthony Green authored
463 2011-07-11 Andrew Haley <aph@redhat.com>
464
465 * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
466
467 2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
468
469 * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
470 * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
471
472 2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
473
474 PR libffi/46660
475 * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
476 mips-sgi-irix6*.
477 * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
478
479 2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
480
481 * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
482 PRId8 instead of %hhu, %hhd.
483 * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
484 PRIu8): Define.
485 [__sgi__] (PRId8, PRIu8): Define.
486
487 2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
488
489 * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
490 Define.
491 Use them to handle ELF vs. ECOFF differences.
492 [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
493
2d3fb36 @atgreen Fix darwin EH
atgreen authored
494 2011-03-30 Timothy Wall <twall@users.sf.net>
495
496 * src/powerpc/darwin.S: Fix unknown FDE encoding.
497 * src/powerpc/darwin_closure.S: ditto.
498
2541679 @atgreen Fix ppc32 bug
atgreen authored
499 2011-02-25 Anthony Green <green@moxielogic.com>
500
74ee6ea @atgreen rc7. More AIX fixes.
atgreen authored
501 * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
502 32-bit ABIs.
2541679 @atgreen Fix ppc32 bug
atgreen authored
503
8cf8878 @atgreen Fix ax_cc_maxopt.m4
atgreen authored
504 2011-02-15 Anthony Green <green@moxielogic.com>
505
506 * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
507 * configure: Rebuilt.
508
d992ac5 Refresh from GCC
Anthony Green authored
509 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
510
511 * configure: Regenerate.
512
1fbf9dc @atgreen Fix bad_abi test. rc5.
atgreen authored
513 2011-02-13 Anthony Green <green@moxielogic.com>
514
515 * include/ffi_common.h (UNLIKELY, LIKELY): Define.
516 * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
517 * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
518
519 * src/prep_cif.c (initialize_aggregate): Convert assertion into
520 FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
521
522 * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
523 just return FFI_BAD_ABI when things are wrong.
524 * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
525 * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
526 * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
527 * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
528 * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
529
1833aa0 @atgreen sparc ABI test fix.
atgreen authored
530 2011-02-11 Anthony Green <green@moxielogic.com>
531
532 * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
533 just return FFI_BAD_ABI when things are wrong.
534
7c5e60b @atgreen Rebase on fixed GCC sources
atgreen authored
535 2012-02-11 Eric Botcazou <ebotcazou@adacore.com>
536
537 * src/sparc/v9.S (STACKFRAME): Bump to 176.
538
42695e7 @atgreen Fix IRIX support
atgreen authored
539 2011-02-09 Stuart Shelton <srcshelton@gmail.com>
540
541 http://bugs.gentoo.org/show_bug.cgi?id=286911
542 * src/mips/ffitarget.h: Clean up error messages.
543 * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
544 ffi_raw*.
545 * include/ffi.h.in: Add pragma for SGI compiler.
546
a6e56b9 @atgreen Add powerpc64-*-darwin* support
atgreen authored
547 2011-02-09 Anthony Green <green@moxielogic.com>
548
549 * configure.ac: Add powerpc64-*-darwin* support.
550
0cad438 @atgreen Add ChangeLog entry. Fix copyright headers.
atgreen authored
551 2011-02-09 Anthony Green <green@moxielogic.com>
1106229 @atgreen Add iOS support
atgreen authored
552
747d6c3 @atgreen Add Interix support
atgreen authored
553 * README: Mention Interix.
554
555 2011-02-09 Jonathan Callen <abcd@gentoo.org>
556
557 * configure.ac: Add Interix to win32/cygwin/mingw case.
558 * configure: Ditto.
559 * src/closures.c: Treat Interix like Cygwin, instead of as a
560 generic win32.
561
562 2011-02-09 Anthony Green <green@moxielogic.com>
563
69dbe84 @atgreen Fix xfails
atgreen authored
564 * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
565 * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
566 * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
567 (ffi_prep_closure_loc): Check for bad ABI.
568 * src/prep_cif.c (UNLIKELY, LIKELY): Define.
569 (initialize_aggregate): Check for bad types.
0cad438 @atgreen Add ChangeLog entry. Fix copyright headers.
atgreen authored
570
90af15e @atgreen iOS fixes
atgreen authored
571 2011-02-09 Landon Fuller <landonf@plausible.coop>
0cad438 @atgreen Add ChangeLog entry. Fix copyright headers.
atgreen authored
572
573 * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
574 src/arm/trampoline.S.
575 (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
576 * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
577 * src/arm/ffi.c (ffi_trampoline_table)
578 (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
579 (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
580 (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
581 (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
582 Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
583 (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
584 separately.
585 * src/arm/sysv.S: Handle Apple iOS host.
586 * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
f498318 @atgreen Update README for iOS again
atgreen authored
587 * build-ios.sh: New file.
0cad438 @atgreen Add ChangeLog entry. Fix copyright headers.
atgreen authored
588 * fficonfig.h.in, configure, Makefile.in: Rebuilt.
69dbe84 @atgreen Fix xfails
atgreen authored
589 * README: Mention ARM iOS.
1106229 @atgreen Add iOS support
atgreen authored
590
dc411e8 @atgreen Fix HP-UX build
atgreen authored
591 2011-02-08 Oren Held <orenhe@il.ibm.com>
592
593 * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
594 redefinition of mallinfo on HP-UX.
595
404585d @atgreen Fix sparc v8 aggregate type returns for sun's compiler
atgreen authored
596 2011-02-08 Ginn Chen <ginn.chen@oracle.com>
597
598 * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
049d838 @atgreen Many new patches
atgreen authored
599 aggregate return ABI. Flush cache.
600 (ffi_prep_closure_loc): Flush cache.
404585d @atgreen Fix sparc v8 aggregate type returns for sun's compiler
atgreen authored
601
6972a4f @atgreen Fix xlc build on AIX
atgreen authored
602 2011-02-11 Anthony Green <green@moxielogic.com>
603
604 From Tom Honermann <tom.honermann@oracle.com>:
605 * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
606 AIX. Declare .ffi_prep_args. Insert nops after branch
607 instructions so that the AIX linker can insert TOC reload
608 instructions.
609 * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
610
d992ac5 Refresh from GCC
Anthony Green authored
611 2011-02-08 Ed <ed@kdtc.net>
612
613 * src/powerpc/asm.h: Fix grammar nit in comment.
614
89284fe @atgreen Fix AIX build with IBM XLC
atgreen authored
615 2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
616
617 * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
618
d992ac5 Refresh from GCC
Anthony Green authored
619 2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
620
621 PR libffi/46661
622 * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
623 uintptr_t first.
624 * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
625
ed2c518 @atgreen x86 pcrel test
atgreen authored
626 2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
627
628 * configure.ac: Fix x86 test for pc related relocs.
09f8f31 @atgreen More AIX fixes. rc9.
atgreen authored
629 * configure: Rebuilt.
ed2c518 @atgreen x86 pcrel test
atgreen authored
630
3b83624 @atgreen Rebase from GCC
atgreen authored
631 2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
632
633 * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
634 Handle case when CPU variant does not have long double support.
635 * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
636 and cores with soft floating point.
637
638 2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
639
640 * configure.ac: Add mips*-*-rtems* support.
641 * configure: Regenerate.
642 * src/mips/ffitarget.h: Ensure needed constants are available
643 for targets which do not have sgidefs.h.
644
0e58439 @atgreen Refresh from GCC
atgreen authored
645 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
646
647 PR target/40125
648 * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
649 * configure: Regenerate.
650
651 2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
652
653 PR libffi/29152
654 PR libffi/42378
655 * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
656 update comments.
657 * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
658 (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
659 * src/powerpc/darwin.S: Provide Darwin64 implementation,
660 update comments.
661 * src/powerpc/ffi_darwin.c: Likewise.
662
663 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
664
665 * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
666 backslashes.
667 (libffi_cv_as_string_pseudo_op): Likewise.
668 * configure: Regenerate.
669
670 2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
671
672 * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
673 (ffi_closure_VFP): Same.
674 (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
675 directive.
676
677 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
678
679 * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
680 (PRIuPTR): Define.
681
682 2010-11-29 Richard Henderson <rth@redhat.com>
683 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
684
685 * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
686 (.eh_frame): Use FDE_ENCODING.
687 (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
688
5b9cd52 @atgreen win64-underscore patch
atgreen authored
689 2010-11-22 Jacek Caban <jacek@codeweavers.com>
690
691 * configure.ac: Check for symbol underscores on mingw-w64.
692 * configure: Rebuilt.
693 * src/x86/win64.S: Correctly access extern symbols in respect to
694 underscores.
695
2db7261 @atgreen Rebase
atgreen authored
696 2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
697
698 * testsuite/lib/libffi-dg.exp: Rename ...
699 * testsuite/lib/libffi.exp: ... to this.
700 * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
701 * libffi/testsuite/libffi.special/special.exp: Likewise.
702
703 2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
704
705 * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
706 code, new parameter, and return value. Update comments.
707 (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
708 call to layout_vfp_args().
709 (ffi_call_SYSV): Update declaration.
710 (ffi_call_VFP): New declaration.
711 (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
712 when ABI is FFI_VFP.
713 (ffi_closure_VFP): New declaration.
714 (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
715 ffi_prep_incoming_args_SYSV().
716 (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
717 case handling.
718 (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
719 construction under VFP hard-float.
720 (rec_vfp_type_p): New function.
721 (vfp_type_p): Same.
722 (place_vfp_arg): Same.
723 (layout_vfp_args): Same.
724 * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
725 based on __ARM_PCS_VFP.
726 (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
727 fields.
728 (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
729 (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
730 * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
731 direct call. Move function pointer load upwards.
732 (ffi_call_VFP): New function.
733 (ffi_closure_VFP): Same.
734
735 * testsuite/lib/libffi-dg.exp (check-flags): New function.
736 (dg-skip-if): New function.
737 * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
738 and compiler options include -mfloat-abi=hard.
739 * testsuite/libffi.call/cls_longdouble_va.c: Same.
740
741 2010-10-01 Jakub Jelinek <jakub@redhat.com>
742
743 PR libffi/45677
744 * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
745 a multiple of 8.
746 * testsuite/libffi.call/many2.c: New test.
747
748 2010-08-20 Mark Wielaard <mjw@redhat.com>
749
750 * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
751 returns NULL.
752
753 2010-08-09 Andreas Tobler <andreast@fgznet.ch>
754
755 * configure.ac: Add target powerpc64-*-freebsd*.
756 * configure: Regenerate.
757 * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
758 -mlong-double-128 only to linux targets.
759 * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
760 * testsuite/libffi.call/cls_longdouble.c: Likewise.
761 * testsuite/libffi.call/huge_struct.c: Likewise.
762
00d0b59 @atgreen Fix debug build for windows
atgreen authored
763 2010-08-05 Dan Witte <dwitte@mozilla.com>
764
765 * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
766 debug CRT when --enable-debug is given.
767 * configure.ac: Define it.
768 * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
769
c1d28ba @atgreen stdcall-x86-closure-fix
atgreen authored
770 2010-08-04 Dan Witte <dwitte@mozilla.com>
771
772 * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
773 platforms.
774 * src/x86/ffi.c: Remove redundant ifdef checks.
775 * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
776 for X86_ANY so return value space doesn't get added twice.
777
bda487e @atgreen Don't use -safeseh with ml64
atgreen authored
778 2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
779
780 * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
781
d14178b @atgreen FFI_LAST_ABI fix
atgreen authored
782 2010-07-22 Dan Witte <dwitte@mozilla.com>
783
784 * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
785 * src/prep_cif.c: Fix ABI assertion.
786 * src/cris/ffi.c: Ditto.
787
eaf444e @atgreen Fix selinux test
atgreen authored
788 2010-07-10 Evan Phoenix <evan@fallingsnow.net>
789
790 * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
791
5feacad @atgreen define generic symbols carefully
atgreen authored
792 2010-07-07 Dan Horák <dan@danny.cz>
793
794 * include/ffi.h.in: Protect #define with #ifndef.
795 * src/powerpc/ffitarget.h: Ditto.
796 * src/s390/ffitarget.h: Ditto.
797 * src/sparc/ffitarget.h: Ditto.
798
2db7261 @atgreen Rebase
atgreen authored
799 2010-07-07 Neil Roberts <neil@linux.intel.com>
800
801 * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
802 16-bytes.
803
804 2010-07-02 Jakub Jelinek <jakub@redhat.com>
805
806 * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
807 * Makefile.in: Regenerated.
808
809 2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
810
811 * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
812 output, too.
813 (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
814 (libffi_cv_as_string_pseudo_op): Check for .string.
815 * configure: Regenerate.
816 * fficonfig.h.in: Regenerate.
817 * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
818
10ea848 @atgreen don't copy win64 struct args
atgreen authored
819 2010-05-11 Dan Witte <dwitte@mozilla.com>
820
821 * doc/libffi.tex: Document previous change.
822
823 2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
824
825 * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
826
6309741 Micharl Kohler's spelling fixes
Anthony Green authored
827 2010-05-05 Michael Kohler <michaelkohler@live.com>
828
829 * src/dlmalloc.c (dlfree): Fix spelling.
830 * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
831 * configure.ac: Ditto.
832 * configure: Rebuilt.
833
f2c2a4f Remove warnings and add OS/2 support
Anthony Green authored
834 2010-04-13 Dan Witte <dwitte@mozilla.com>
835
836 * msvcc.sh: Build with -W3 instead of -Wall.
837 * src/powerpc/ffi_darwin.c: Remove build warnings.
838 * src/x86/ffi.c: Ditto.
839 * src/x86/ffitarget.h: Ditto.
840
2db7261 @atgreen Rebase
atgreen authored
841 2010-04-12 Dan Witte <dwitte@mozilla.com>
842 Walter Meinl <wuno@lsvw.de>
3f5b137 @atgreen rebase
atgreen authored
843
2db7261 @atgreen Rebase
atgreen authored
844 * configure.ac: Add OS/2 support.
845 * configure: Rebuilt.
846 * src/closures.c: Ditto.
847 * src/dlmalloc.c: Ditto.
848 * src/x86/win32.S: Ditto.
3f5b137 @atgreen rebase
atgreen authored
849
850 2010-04-07 Jakub Jelinek <jakub@redhat.com>
851
2db7261 @atgreen Rebase
atgreen authored
852 * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
3f5b137 @atgreen rebase
atgreen authored
853
854 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
855
856 * Makefile.in: Regenerate.
857 * aclocal.m4: Regenerate.
858 * include/Makefile.in: Regenerate.
859 * man/Makefile.in: Regenerate.
860 * testsuite/Makefile.in: Regenerate.
861
2db7261 @atgreen Rebase
atgreen authored
862 2010-03-30 Dan Witte <dwitte@mozilla.com>
863
864 * msvcc.sh: Disable build warnings.
865 * README (tested): Clarify windows build procedure.
866
3f5b137 @atgreen rebase
atgreen authored
867 2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
868
869 * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
870 * configure: Regenerate.
871 * fficonfig.h.in: Regenerate.
872 * libffi/src/x86/unix64.S (.eh_frame)
873 [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
874
2db7261 @atgreen Rebase
atgreen authored
875 2010-03-14 Matthias Klose <doko@ubuntu.com>
876
877 * src/x86/ffi64.c: Fix typo in comment.
878 * src/x86/ffi.c: Use /* ... */ comment style.
879
9dc9a29 Rebase to latest GCC sources
Anthony Green authored
880 2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
881
882 * doc/libffi.texi (The Closure API): Fix typo.
883 * doc/libffi.info: Remove.
884
885 2010-02-15 Matthias Klose <doko@ubuntu.com>
886
887 * src/arm/sysv.S (__ARM_ARCH__): Define for processor
888 __ARM_ARCH_7EM__.
889
2db7261 @atgreen Rebase
atgreen authored
890 2010-01-15 Anthony Green <green@redhat.com>
891
892 * README: Add notes on building with Microsoft Visual C++.
893
894 2010-01-15 Daniel Witte <dwitte@mozilla.com>
895
896 * msvcc.sh: New file.
897
898 * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
899 * src/x86/ffi.c: Tweak function declaration and remove excess
900 parens.
901 * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
902 ffi_closure.
903
904 * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
905 function ffi_call_win32 on X86_WIN32.
906 * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
907 (ffi_call_STDCALL): Remove.
908
909 * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
910 to ffi_prep_cif_machdep for x86.
911 * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
912
913 2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
914
915 * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
0e58439 @atgreen Refresh from GCC
atgreen authored
916 Sun Studio compiler compatibility.
2db7261 @atgreen Rebase
atgreen authored
917
918 2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
919
920 * doc/libffi.texi: Add closure example.
921
7b7a42f Rebase from GCC
Anthony Green authored
922 2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
923
924 PR libffi/40701
925 * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
926 PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
927 * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
928 alpha*-dec-osf*.
929 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
930 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
931 * testsuite/libffi.call/return_ll1.c: Likewise.
932 * testsuite/libffi.call/stret_medium2.c: Likewise.
933 * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
934 MAP_FAILED to char *.
935
936 2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
937
938 * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
939
c3042af Reset quilt patches post 3.0.9 merge with GCC
Anthony Green authored
940 2009-12-31 Anthony Green <green@redhat.com>
941
942 * README: Update for libffi 3.0.9.
943
944 2009-12-27 Matthias Klose <doko@ubuntu.com>
945
946 * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
947 appropriate.
948 * configure: Rebuilt.
949
950 2009-12-26 Anthony Green <green@redhat.com>
951
952 * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
953 avr32*-*-*.
954 * testsuite/libffi.call/cls_double_va.c: Ditto.
955
956 2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
957
958 * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
959 and inttypes.h.
960 * testsuite/libffi.special/unwindtest.cc: Ditto.
961
962 2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
963
964 * configure.ac: Add amd64-*-openbsd*.
965 * configure: Rebuilt.
966 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
967 openbsd programs with -lpthread.
968
969 2009-12-26 Anthony Green <green@redhat.com>
970
971 * testsuite/libffi.call/cls_double_va.c,
972 testsuite/libffi.call/cls_longdouble.c,
973 testsuite/libffi.call/cls_longdouble_va.c,
974 testsuite/libffi.call/cls_pointer.c,
975 testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
976 mips*-*-* and arm*-*-*.
977 * testsuite/libffi.call/cls_align_longdouble_split.c,
978 testsuite/libffi.call/cls_align_longdouble_split2.c,
979 testsuite/libffi.call/stret_medium2.c,
980 testsuite/libffi.call/stret_medium.c,
981 testsuite/libffi.call/stret_large.c,
982 testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
983
984 2009-12-31 Kay Tietz <ktietz70@googlemail.com>
985
986 * testsuite/libffi.call/ffitest.h,
987 testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
988 definitions.
989
990 2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
991
992 * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
993 * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
994 * configure: Rebuilt.
995 * Makefile.in: Rebuilt.
996
997 2009-12-31 Anthony Green <green@redhat.com>
998 Blake Chaffin.
999
1000 * testsuite/libffi.call/huge_struct.c: New test case from Blake
1001 Chaffin @ Apple.
1002
0cfe60e 3.0.9rc12
Anthony Green authored
1003 2009-12-28 David Edelsohn <edelsohn@gnu.org>
1004
1005 * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
1006 local variables.
1007 (aix_adjust_aggregate_sizes): New function.
1008 (ffi_prep_cif_machdep): Call it.
1009
1010 2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
1011
1012 * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
1013 * configure: Regenerate.
1014 * fficonfig.h.in: Likewise.
1015 * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
1016 Solaris/x86.
1017
1018 2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
1019
1020 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
1021 when a float arguments is passed in memory.
1022 (ffi_closure_helper_SYSV): Mark general registers as used up when
1023 a 64bit or soft-float long double argument is passed in memory.
1024
9458d88 Rebase from GCC
Anthony Green authored
1025 2009-12-25 Matthias Klose <doko@ubuntu.com>
1026
1027 * man/ffi_call.3: Fix #include in examples.
1028 * doc/libffi.texi: Add dircategory.
1029
1030 2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
1031
1032 * include/ffi.h.in: Placed '__GNUC__' ifdef around
1033 '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
1034 IRIX MIPSPro c99.
1035 * include/ffi_common.h: Added '__sgi' define to non
1036 '__attribute__((__mode__()))' integer typedefs.
0cfe60e 3.0.9rc12
Anthony Green authored
1037 * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
9458d88 Rebase from GCC
Anthony Green authored
1038 ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
1039 (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
1040 FFI_LONGDOUBLE support and alignment(N32 only).
1041 * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
1042 fixed non '__attribute__((__mode__()))' integer typedefs.
1043 * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
1044 since they are Linux/GNU Assembler specific.
1045
1046 2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
1047
1048 * configure.ac, Makefile.am, src/avr32/ffi.c,
1049 src/avr32/ffitarget.h,
1050 src/avr32/sysv.S: Add AVR32 port.
1051 * configure, Makefile.in: Rebuilt.
1052
115ab36 Update missing changes for 3.0.9r4.
Anthony Green authored
1053 2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
1054
1055 * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
1056 * configure: Regenerate.
1057
1058 2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1059
1060 * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
1061
1062 2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1063
1064 * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
1065 type on HP-UX.
1066
7c5e60b @atgreen Rebase on fixed GCC sources
atgreen authored
1067 2012-02-13 Kai Tietz <ktietz@redhat.com>
1068
1069 PR libffi/52221
1070 * src/x86/ffi.c (ffi_prep_raw_closure_loc): Add thiscall
1071 support for X86_WIN32.
1072 (FFI_INIT_TRAMPOLINE_THISCALL): Fix displacement.
1073
115ab36 Update missing changes for 3.0.9r4.
Anthony Green authored
1074 2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
1075
1076 * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
1077 double' arguments.
1078
1079 2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
1080
1081 * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
1082
1083 2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1084
1085 PR libffi/40700
1086 * src/closures.c [X86_64 && __sun__ && __svr4__]
1087 (FFI_MMAP_EXEC_WRIT): Define.
1088
1089 2009-12-08 David Daney <ddaney@caviumnetworks.com>
1090
1091 * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
1092 * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
1093 * testsuite/libffi.call/stret_large.c: Same.
1094 * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
1095 * testsuite/libffi.call/stret_large2.c: Same.
1096 * testsuite/libffi.call/stret_medium2.c: Same.
1097
1098 2009-12-07 David Edelsohn <edelsohn@gnu.org>
1099
1100 * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
1101 typo.
1102
1103 2009-12-05 David Edelsohn <edelsohn@gnu.org>
1104
1105 * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
1106 code.
1107 * src/powerpc/aix_closure.S: Same.
1108
1109 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1110
1111 * Makefile.in: Regenerate.
1112 * configure: Regenerate.
1113 * include/Makefile.in: Regenerate.
1114 * man/Makefile.in: Regenerate.
1115 * testsuite/Makefile.in: Regenerate.
1116
1117 2009-12-04 David Edelsohn <edelsohn@gnu.org>
1118
1119 * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
0cfe60e 3.0.9rc12
Anthony Green authored
1120 linux64_closure.S.
115ab36 Update missing changes for 3.0.9r4.
Anthony Green authored
1121
1122 2009-12-04 Uros Bizjak <ubizjak@gmail.com>
1123
1124 PR libffi/41908
1125 * src/x86/ffi64.c (classify_argument): Update from
1126 gcc/config/i386/i386.c.
1127 (ffi_closure_unix64_inner): Do not use the address of two consecutive
1128 SSE registers directly.
1129 * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
1130 for x86_64 linux targets.
1131
1132 2009-12-04 David Edelsohn <edelsohn@gnu.org>
1133
1134 * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
1135 pfr for long double split between fpr13 and stack.
1136
1137 2009-12-03 David Edelsohn <edelsohn@gnu.org>
1138
1139 * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
1140 fparg_count twice for long double.
1141
1142 2009-12-03 David Edelsohn <edelsohn@gnu.org>
1143
1144 PR libffi/42243
1145 * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
1146
1147 2009-12-03 Uros Bizjak <ubizjak@gmail.com>
1148
1149 * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
1150 Remove xfails for x86 linux targets.
1151
1152 2009-12-02 David Edelsohn <edelsohn@gnu.org>
1153
1154 * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
1155 case.
1156
1157 2009-12-01 David Edelsohn <edelsohn@gnu.org>
1158
1159 * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
1160 register usage. Call ffi_prep_args directly. Add long double
1161 return value support.
1162 * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
1163 applies to FFI_TYPE_DOUBLE. Correct fpr_base increment typo.
1164 Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
1165 (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
1166 mode.
1167 (ffi_closure_helper_DARWIN): Remove nf and ng counters. Move temp
1168 into case.
1169 * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
1170 Allocate result area between params and FPRs.
1171
1172 2009-11-30 David Edelsohn <edelsohn@gnu.org>
1173
1174 PR target/35484
1175 * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
1176 AIX64.
1177 * src/powerpc/aix.S: Implement AIX64 version.
1178 * src/powerpc/aix_closure.S: Implement AIX64 version.
1179 (ffi_closure_ASM): Use extsb, lha and displament addresses.
1180 * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
1181 support.
1182 (ffi_prep_cif_machdep): Same.
1183 (ffi_call): Same.
1184 (ffi_closure_helper_DARWIN): Same.
1185
1186 2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
1187
1188 PR libffi/41908
1189 * testsuite/libffi.call/testclosure.c: New test.
1190
c6dddbd @atgreen Initial commit
atgreen authored
1191 2009-09-28 Kai Tietz <kai.tietz@onevision.com>
1192
1193 * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
1194 assembly version use of ___chkstk.
1195
1196 2009-09-23 Matthias Klose <doko@ubuntu.com>
1197
1198 PR libffi/40242, PR libffi/41443
1199 * src/arm/sysv.S (__ARM_ARCH__): Define for processors
1200 __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
1201 __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
1202 Change the conditionals to __SOFTFP__ || __ARM_EABI__
1203 for -mfloat-abi=softfp to work.
1204
1205 2009-09-17 Loren J. Rittle <ljrittle@acm.org>
1206
1207 PR testsuite/32843 (strikes again)
1208 * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
1209 enable proper extension on char and short.
1210
1211 2009-09-15 David Daney <ddaney@caviumnetworks.com>
1212
1213 * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
1214 handling for FFI_TYPE_POINTER.
1215 * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
1216 FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
1217 FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
1218 FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
1219 (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
1220 (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
1221 * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
1222 structure and pointer returns.
1223 (ffi_closure_N32): Add handling for pointer returns.
1224 * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
1225 calc_n32_return_struct_flags): Handle soft-float.
1226 (ffi_prep_cif_machdep): Handle soft-float, fix pointer handling.
1227 (ffi_call_N32): Declare proper argument types.
1228 (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
1229 soft-float.
1230
1231 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1232
1233 * configure.ac (AC_PREREQ): Bump to 2.64.
1234
1235 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1236
1237 * Makefile.am (install-html, install-pdf): Remove.
1238 * Makefile.in: Regenerate.
1239
1240 * Makefile.in: Regenerate.
1241 * aclocal.m4: Regenerate.
1242 * configure: Regenerate.
1243 * fficonfig.h.in: Regenerate.
1244 * include/Makefile.in: Regenerate.
1245 * man/Makefile.in: Regenerate.
1246 * testsuite/Makefile.in: Regenerate.
1247
3d56106 @atgreen Rebase
atgreen authored
1248 2011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
1249
1250 * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
1251 * configure: Rebuilt.
1252
c6dddbd @atgreen Initial commit
atgreen authored
1253 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1254
1255 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
1256
1257 2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
1258
1259 PR libffi/40807
1260 * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
1261 return types for X86_WIN32.
1262 * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
1263 (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
1264 _ffi_closure_STDCALL): Likewise.
1265
1266 * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
1267 (dlmmap, dlmunmap): Also use these functions on Cygwin.
1268
1269 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
1270
1271 PR testsuite/40699
1272 PR testsuite/40707
1273 PR testsuite/40709
1274 * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
1275 2009-06-30 commits.
1276
1277 2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
1278
1279 * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
1280 to "" before adding paths. (This reinstates an assignment that
1281 was removed by my 2009-06-30 commit, but changes the initial
1282 value from "." to "".)
1283
1284 2009-07-01 H.J. Lu <hongjiu.lu@intel.com>
1285
1286 PR testsuite/40601
1287 * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
1288 gccdir. Adjust ld_library_path for gcc only if gccdir isn't
1289 empty.
1290
1291 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
1292
1293 * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
1294 to ld_library_path. Use add_path. Add just find_libgcc_s
1295 to ld_library_path, not every libgcc multilib directory.
1296
1297 2009-06-16 Wim Lewis <wiml@hhhh.org>
1298
1299 * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
1300 supposed to be callee-saved.
1301 * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
1302 return buffer for odd-size structs.
1303
1304 2009-06-16 Andreas Tobler <a.tobler@schweiz.org>
1305
1306 PR libffi/40444
1307 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
1308 allow_stack_execute for Darwin.
1309
1310 2009-06-16 Andrew Haley <aph@redhat.com>
1311
1312 * configure.ac (TARGETDIR): Add missing blank lines.
1313 * configure: Regenerate.
1314
1315 2009-06-16 Andrew Haley <aph@redhat.com>
1316
1317 * testsuite/libffi.call/cls_align_sint64.c,
1318 testsuite/libffi.call/cls_align_uint64.c,
1319 testsuite/libffi.call/cls_longdouble_va.c,
1320 testsuite/libffi.call/cls_ulonglong.c,
1321 testsuite/libffi.call/return_ll1.c,
1322 testsuite/libffi.call/stret_medium2.c: Fix printf format
1323 specifiers.
1324 * testsuite/libffi.call/ffitest.h,
1325 testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
1326
1327 2009-06-15 Andrew Haley <aph@redhat.com>
1328
1329 * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
1330 * testsuite/libffi.call/err_bad_abi.c: Likewise.
0cfe60e 3.0.9rc12
Anthony Green authored
1331
c6dddbd @atgreen Initial commit
atgreen authored
1332 2009-06-12 Andrew Haley <aph@redhat.com>
1333
1334 * Makefile.am: Remove info_TEXINFOS.
1335
1336 2009-06-12 Andrew Haley <aph@redhat.com>
1337
1338 * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
1339 testsuite/libffi.call/cls_align_uint64.c,
1340 testsuite/libffi.call/cls_ulonglong.c,
1341 testsuite/libffi.call/return_ll1.c,
1342 testsuite/libffi.call/stret_medium2.c: Fix printf format
1343 specifiers.
1344 testsuite/libffi.special/unwindtest.cc: include stdint.h.
1345
1346 2009-06-11 Timothy Wall <twall@users.sf.net>
1347
1348 * Makefile.am,
0cfe60e 3.0.9rc12
Anthony Green authored
1349 configure.ac,
1350 include/ffi.h.in,
1351 include/ffi_common.h,
1352 src/closures.c,
1353 src/dlmalloc.c,
1354 src/x86/ffi.c,
1355 src/x86/ffitarget.h,
1356 src/x86/win64.S (new),
c6dddbd @atgreen Initial commit
atgreen authored
1357 README: Added win64 support (mingw or MSVC)
0cfe60e 3.0.9rc12
Anthony Green authored
1358 * Makefile.in,
1359 include/Makefile.in,
1360 man/Makefile.in,
1361 testsuite/Makefile.in,
1362 configure,
1363 aclocal.m4: Regenerated
1364 * ltcf-c.sh: properly escape cygwin/w32 path
1365 * man/ffi_call.3: Clarify size requirements for return value.
1366 * src/x86/ffi64.c: Fix filename in comment.
1367 * src/x86/win32.S: Remove unused extern.
1368
1369 * testsuite/libffi.call/closure_fn0.c,
1370 testsuite/libffi.call/closure_fn1.c,
1371 testsuite/libffi.call/closure_fn2.c,
1372 testsuite/libffi.call/closure_fn3.c,
1373 testsuite/libffi.call/closure_fn4.c,
1374 testsuite/libffi.call/closure_fn5.c,
1375 testsuite/libffi.call/closure_fn6.c,
c6dddbd @atgreen Initial commit
atgreen authored
1376 testsuite/libffi.call/closure_stdcall.c,
1377 testsuite/libffi.call/cls_12byte.c,
1378 testsuite/libffi.call/cls_16byte.c,
1379 testsuite/libffi.call/cls_18byte.c,
1380 testsuite/libffi.call/cls_19byte.c,
1381 testsuite/libffi.call/cls_1_1byte.c,
1382 testsuite/libffi.call/cls_20byte.c,
1383 testsuite/libffi.call/cls_20byte1.c,
1384 testsuite/libffi.call/cls_24byte.c,
1385 testsuite/libffi.call/cls_2byte.c,
1386 testsuite/libffi.call/cls_3_1byte.c,
1387 testsuite/libffi.call/cls_3byte1.c,
1388 testsuite/libffi.call/cls_3byte2.c,
1389 testsuite/libffi.call/cls_4_1byte.c,
1390 testsuite/libffi.call/cls_4byte.c,
1391 testsuite/libffi.call/cls_5_1_byte.c,
1392 testsuite/libffi.call/cls_5byte.c,
1393 testsuite/libffi.call/cls_64byte.c,
1394 testsuite/libffi.call/cls_6_1_byte.c,
1395 testsuite/libffi.call/cls_6byte.c,
1396 testsuite/libffi.call/cls_7_1_byte.c,
1397 testsuite/libffi.call/cls_7byte.c,
1398 testsuite/libffi.call/cls_8byte.c,
1399 testsuite/libffi.call/cls_9byte1.c,
1400 testsuite/libffi.call/cls_9byte2.c,
1401 testsuite/libffi.call/cls_align_double.c,
1402 testsuite/libffi.call/cls_align_float.c,
1403 testsuite/libffi.call/cls_align_longdouble.c,
1404 testsuite/libffi.call/cls_align_longdouble_split.c,
1405 testsuite/libffi.call/cls_align_longdouble_split2.c,
1406 testsuite/libffi.call/cls_align_pointer.c,
1407 testsuite/libffi.call/cls_align_sint16.c,
1408 testsuite/libffi.call/cls_align_sint32.c,
1409 testsuite/libffi.call/cls_align_sint64.c,
1410 testsuite/libffi.call/cls_align_uint16.c,
1411 testsuite/libffi.call/cls_align_uint32.c,
1412 testsuite/libffi.call/cls_align_uint64.c,
1413 testsuite/libffi.call/cls_dbls_struct.c,
1414 testsuite/libffi.call/cls_double.c,
1415 testsuite/libffi.call/cls_double_va.c,
1416 testsuite/libffi.call/cls_float.c,
1417 testsuite/libffi.call/cls_longdouble.c,
1418 testsuite/libffi.call/cls_longdouble_va.c,
1419 testsuite/libffi.call/cls_multi_schar.c,
1420 testsuite/libffi.call/cls_multi_sshort.c,
1421 testsuite/libffi.call/cls_multi_sshortchar.c,
1422 testsuite/libffi.call/cls_multi_uchar.c,
1423 testsuite/libffi.call/cls_multi_ushort.c,
1424 testsuite/libffi.call/cls_multi_ushortchar.c,
1425 testsuite/libffi.call/cls_pointer.c,
1426 testsuite/libffi.call/cls_pointer_stack.c,
1427 testsuite/libffi.call/cls_schar.c,
1428 testsuite/libffi.call/cls_sint.c,
1429 testsuite/libffi.call/cls_sshort.c,
1430 testsuite/libffi.call/cls_uchar.c,
1431 testsuite/libffi.call/cls_uint.c,
1432 testsuite/libffi.call/cls_ulonglong.c,
1433 testsuite/libffi.call/cls_ushort.c,
1434 testsuite/libffi.call/err_bad_abi.c,
1435 testsuite/libffi.call/err_bad_typedef.c,
1436 testsuite/libffi.call/float2.c,
1437 testsuite/libffi.call/huge_struct.c,
1438 testsuite/libffi.call/nested_struct.c,
1439 testsuite/libffi.call/nested_struct1.c,
1440 testsuite/libffi.call/nested_struct10.c,
1441 testsuite/libffi.call/nested_struct2.c,
1442 testsuite/libffi.call/nested_struct3.c,
1443 testsuite/libffi.call/nested_struct4.c,
1444 testsuite/libffi.call/nested_struct5.c,
1445 testsuite/libffi.call/nested_struct6.c,
1446 testsuite/libffi.call/nested_struct7.c,
1447 testsuite/libffi.call/nested_struct8.c,
1448 testsuite/libffi.call/nested_struct9.c,
1449 testsuite/libffi.call/problem1.c,
1450 testsuite/libffi.call/return_ldl.c,
1451 testsuite/libffi.call/return_ll1.c,
1452 testsuite/libffi.call/stret_large.c,
1453 testsuite/libffi.call/stret_large2.c,
1454 testsuite/libffi.call/stret_medium.c,
1455 testsuite/libffi.call/stret_medium2.c,
0cfe60e 3.0.9rc12
Anthony Green authored
1456 testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
1457 of checking for MMAP. Use intptr_t instead of long casts.
c6dddbd @atgreen Initial commit
atgreen authored
1458
1459 2009-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
1460
1461 * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
1462 * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
1463 * testsuite/libffi.call/err_bad_typedef.c: Likewise.
1464
1465 2009-06-09 Andrew Haley <aph@redhat.com>
1466
1467 * src/x86/freebsd.S: Add missing file.
1468
1469 2009-06-08 Andrew Haley <aph@redhat.com>
1470
1471 Import from libffi 3.0.8:
1472
1473 * doc/libffi.texi: New file.
1474 * doc/libffi.info: Likewise.
1475 * doc/stamp-vti: Likewise.
1476 * man/Makefile.am: New file.
1477 * man/ffi_call.3: New file.
1478
1479 * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
1480 src/dlmalloc.c.
1481 (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
1482
1483 * configure.ac: Bump version to 3.0.8.
1484 parisc*-*-linux*: Add.
1485 i386-*-freebsd* | i386-*-openbsd*: Add.
1486 powerpc-*-beos*: Add.
1487 AM_CONDITIONAL X86_FREEBSD: Add.
1488 AC_CONFIG_FILES: Add man/Makefile.
1489
1490 * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
1491
1492 2009-06-08 Andrew Haley <aph@redhat.com>
1493
1494 * README: Import from libffi 3.0.8.
1495
1496 2009-06-08 Andrew Haley <aph@redhat.com>
1497
1498 * testsuite/libffi.call/err_bad_abi.c: Add xfails.
1499 * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
1500 * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
1501 * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
1502
1503 * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
1504 * testsuite/libffi.call/stret_medium.c: Likewise.
1505 * testsuite/libffi.call/stret_large2.c: Likewise.
1506 * testsuite/libffi.call/stret_large.c: Likewise.
1507
1508 2008-12-26 Timothy Wall <twall@users.sf.net>
1509
0cfe60e 3.0.9rc12
Anthony Green authored
1510 * testsuite/libffi.call/cls_longdouble.c,
1511 testsuite/libffi.call/cls_longdouble_va.c,
1512 testsuite/libffi.call/cls_align_longdouble.c,
1513 testsuite/libffi.call/cls_align_longdouble_split.c,
1514 testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
1515 failures on x86_64 cygwin/mingw.
c6dddbd @atgreen Initial commit
atgreen authored
1516
1517 2008-12-22 Timothy Wall <twall@users.sf.net>
1518
0cfe60e 3.0.9rc12
Anthony Green authored
1519 * testsuite/libffi.call/closure_fn0.c,
1520 testsuite/libffi.call/closure_fn1.c,
1521 testsuite/libffi.call/closure_fn2.c,
1522 testsuite/libffi.call/closure_fn3.c,
1523 testsuite/libffi.call/closure_fn4.c,
1524 testsuite/libffi.call/closure_fn5.c,
1525 testsuite/libffi.call/closure_fn6.c,
1526 testsuite/libffi.call/closure_loc_fn0.c,
1527 testsuite/libffi.call/closure_stdcall.c,
1528 testsuite/libffi.call/cls_align_pointer.c,
1529 testsuite/libffi.call/cls_pointer.c,
1530 testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
1531 pointer to integer (intptr_t).
1532 * testsuite/libffi.call/cls_longdouble.c: disable for win64.
c6dddbd @atgreen Initial commit
atgreen authored
1533
1534 2008-07-24 Anthony Green <green@redhat.com>
1535
0cfe60e 3.0.9rc12
Anthony Green authored
1536 * testsuite/libffi.call/cls_dbls_struct.c,
1537 testsuite/libffi.call/cls_double_va.c,
1538 testsuite/libffi.call/cls_longdouble.c,
1539 testsuite/libffi.call/cls_longdouble_va.c,
1540 testsuite/libffi.call/cls_pointer.c,
1541 testsuite/libffi.call/cls_pointer_stack.c,
1542 testsuite/libffi.call/err_bad_abi.c: Clean up failures from
1543 compiler warnings.
c6dddbd @atgreen Initial commit
atgreen authored
1544
1545 2008-03-04 Anthony Green <green@redhat.com>
0cfe60e 3.0.9rc12
Anthony Green authored
1546 Blake Chaffin
1547 hos@tamanegi.org
1548
1549 * testsuite/libffi.call/cls_align_longdouble_split2.c
1550 testsuite/libffi.call/cls_align_longdouble_split.c
1551 testsuite/libffi.call/cls_dbls_struct.c
1552 testsuite/libffi.call/cls_double_va.c
1553 testsuite/libffi.call/cls_longdouble.c
1554 testsuite/libffi.call/cls_longdouble_va.c
1555 testsuite/libffi.call/cls_pointer.c
1556 testsuite/libffi.call/cls_pointer_stack.c
1557 testsuite/libffi.call/err_bad_abi.c
1558 testsuite/libffi.call/err_bad_typedef.c
1559 testsuite/libffi.call/stret_large2.c
1560 testsuite/libffi.call/stret_large.c
1561 testsuite/libffi.call/stret_medium2.c
1562 testsuite/libffi.call/stret_medium.c: New tests from Apple.
c6dddbd @atgreen Initial commit
atgreen authored
1563
1564 2009-06-05 Andrew Haley <aph@redhat.com>
1565
1566 * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
1567 libffi.
1568
1569 2009-06-04 Andrew Haley <aph@redhat.com>
1570
1571 * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
1572 stdcall changes.
1573
1574 2008-02-26 Anthony Green <green@redhat.com>
0cfe60e 3.0.9rc12
Anthony Green authored
1575 Thomas Heller <theller@ctypes.org>
c6dddbd @atgreen Initial commit
atgreen authored
1576
0cfe60e 3.0.9rc12
Anthony Green authored
1577 * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
1578 comment.
c6dddbd @atgreen Initial commit
atgreen authored
1579
1580 2008-02-03 Timothy Wall <twall@users.sf.net>
1581
0cfe60e 3.0.9rc12
Anthony Green authored
1582 * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
1583 offset based on code pointer, not data pointer.
c6dddbd @atgreen Initial commit
atgreen authored
1584
1585 2008-01-31 Timothy Wall <twall@users.sf.net>
1586
0cfe60e 3.0.9rc12
Anthony Green authored
1587 * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
1588 closures.
1589 * src/x86/ffitarget.h: Increase size of trampoline for stdcall
1590 closures.
1591 * src/x86/win32.S: Add assembly for stdcall closure.
1592 * src/x86/ffi.c: Initialize stdcall closure trampoline.
c6dddbd @atgreen Initial commit
atgreen authored
1593
1594 2009-06-04 Andrew Haley <aph@redhat.com>
1595
1596 * include/ffi.h.in: Change void (*)() to void (*)(void).
1597 * src/x86/ffi.c: Likewise.
1598
1599 2009-06-04 Andrew Haley <aph@redhat.com>
1600
1601 * src/powerpc/ppc_closure.S: Insert licence header.
1602 * src/powerpc/linux64_closure.S: Likewise.
1603 * src/m68k/sysv.S: Likewise.
1604
1605 * src/sh64/ffi.c: Change void (*)() to void (*)(void).
1606 * src/powerpc/ffi.c: Likewise.
1607 * src/powerpc/ffi_darwin.c: Likewise.
1608 * src/m32r/ffi.c: Likewise.
1609 * src/sh64/ffi.c: Likewise.
1610 * src/x86/ffi64.c: Likewise.
1611 * src/alpha/ffi.c: Likewise.
1612 * src/alpha/osf.S: Likewise.
1613 * src/frv/ffi.c: Likewise.
1614 * src/s390/ffi.c: Likewise.
1615 * src/pa/ffi.c: Likewise.
1616 * src/pa/hpux32.S: Likewise.
1617 * src/ia64/unix.S: Likewise.
1618 * src/ia64/ffi.c: Likewise.
1619 * src/sparc/ffi.c: Likewise.
1620 * src/mips/ffi.c: Likewise.
1621 * src/sh/ffi.c: Likewise.
1622
1623 2008-02-15 David Daney <ddaney@avtrex.com>
1624
0cfe60e 3.0.9rc12
Anthony Green authored
1625 * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
1626 Define (conditionally), and use it to include cachectl.h.
1627 (ffi_prep_closure_loc): Fix cache flushing.
1628 * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
c6dddbd @atgreen Initial commit
atgreen authored
1629
1630 2009-06-04 Andrew Haley <aph@redhat.com>
1631
1632 include/ffi.h.in,
1633 src/arm/ffitarget.h,
1634 src/arm/ffi.c,
1635 src/arm/sysv.S,
1636 src/powerpc/ffitarget.h,
1637 src/closures.c,
1638 src/sh64/ffitarget.h,
1639 src/sh64/ffi.c,
1640 src/sh64/sysv.S,
1641 src/types.c,
1642 src/x86/ffi64.c,
1643 src/x86/ffitarget.h,
1644 src/x86/win32.S,
1645 src/x86/darwin.S,
1646 src/x86/ffi.c,
1647 src/x86/sysv.S,
1648 src/x86/unix64.S,
1649 src/alpha/ffitarget.h,
1650 src/alpha/ffi.c,
1651 src/alpha/osf.S,
1652 src/m68k/ffitarget.h,
1653 src/frv/ffitarget.h,
1654 src/frv/ffi.c,
1655 src/s390/ffitarget.h,
1656 src/s390/sysv.S,
1657 src/cris/ffitarget.h,
1658 src/pa/linux.S,
1659 src/pa/ffitarget.h,
1660 src/pa/ffi.c,
1661 src/raw_api.c,
1662 src/ia64/ffitarget.h,
1663 src/ia64/unix.S,
1664 src/ia64/ffi.c,
1665 src/ia64/ia64_flags.h,
1666 src/java_raw_api.c,
1667 src/debug.c,
1668 src/sparc/v9.S,
1669 src/sparc/ffitarget.h,
1670 src/sparc/ffi.c,
1671 src/sparc/v8.S,
1672 src/mips/ffitarget.h,
1673 src/mips/n32.S,
1674 src/mips/o32.S,
1675 src/mips/ffi.c,
1676 src/prep_cif.c,
1677 src/sh/ffitarget.h,
1678 src/sh/ffi.c,
1679 src/sh/sysv.S: Update license text.
1680
1681 2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
1682
1683 * src/x86/win32.S (_ffi_closure_STDCALL): New function.
1684 (.eh_frame): Add FDE for it.
1685
1686 2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
1687
1688 * configure.ac: Also check if assembler supports pc-relative
1689 relocs on X86_WIN32 targets.
1690 * configure: Regenerate.
1691 * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
1692 (_ffi_call_SYSV): Add missing function type symbol .def and
1693 add EH markup labels.
1694 (_ffi_call_STDCALL): Likewise.
1695 (_ffi_closure_SYSV): Likewise.
1696 (_ffi_closure_raw_SYSV): Likewise.
1697 (.eh_frame): Add hand-crafted EH data.
1698
1699 2009-04-09 Jakub Jelinek <jakub@redhat.com>
1700
1701 * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
1702 version 3 of the GNU General Public License and to point readers
1703 at the COPYING3 file and the FSF's license web page.
1704 * testsuite/libffi.call/call.exp: Likewise.
1705 * testsuite/libffi.special/special.exp: Likewise.
1706
1707 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1708
1709 * configure: Regenerate.
1710
1711 2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1712
1713 PR libffi/26048
1714 * configure.ac (HAVE_AS_X86_PCREL): New test.
1715 * configure: Regenerate.
1716 * fficonfig.h.in: Regenerate.
1717 * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
1718 RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
1719 RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
1720 (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
1721 * src/x86/unix64.S (.Lstore_table): Move to .text section.
1722 (.Lload_table): Likewise.
1723 (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
1724
1725 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1726
1727 * configure: Regenerate.
1728
1729 2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
1730
1731 * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
1732 signed/unsigned int8/16 return values.
1733 * src/sparc/v8.S (ffi_call_v8): Likewise.
1734 (ffi_closure_v8): Likewise.
1735
1736 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
0cfe60e 3.0.9rc12
Anthony Green authored
1737 Steve Ellcey <sje@cup.hp.com>
c6dddbd @atgreen Initial commit
atgreen authored
1738
1739 * configure: Regenerate for new libtool.
1740 * Makefile.in: Ditto.
1741 * include/Makefile.in: Ditto.
1742 * aclocal.m4: Ditto.
1743
1744 2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
1745
1746 * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
1747 FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
1748 Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
1749 Adjust copyright notice.
1750 * src/powerpc/ffi.c: Add two new flags to indicate if we have one
1751 register or two register to use for FFI_SYSV structs.
1752 (ffi_prep_cif_machdep): Pass the right register flag introduced above.
1753 (ffi_closure_helper_SYSV): Fix the return type for
1754 FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
1755 Adjust copyright notice.
1756
1757 2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
1758
1759 * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
1760 int.
1761
1762 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1763
1764 * configure: Regenerate.
1765 * include/Makefile.in: Regenerate.
1766 * testsuite/Makefile.in: Regenerate.
1767
1768 2008-06-07 Joseph Myers <joseph@codesourcery.com>
1769
1770 * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
1771 powerpc-*-beos*): Remove.
1772 * configure: Regenerate.
1773
1774 2008-05-09 Julian Brown <julian@codesourcery.com>
1775
1776 * Makefile.am (LTLDFLAGS): New.
1777 (libffi_la_LDFLAGS): Use above.
1778 * Makefile.in: Regenerate.
1779
1780 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
1781
1782 PR bootstrap/35457
1783 * aclocal.m4: Regenerate.
1784 * configure: Regenerate.
1785
1786 2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
1787
1788 * src/sh/sysv.S: Add .note.GNU-stack on Linux.
1789 * src/sh64/sysv.S: Likewise.
1790
1791 2008-03-26 Daniel Jacobowitz <dan@debian.org>
1792
1793 * src/arm/sysv.S: Fix ARM comment marker.
1794
1795 2008-03-26 Jakub Jelinek <jakub@redhat.com>
1796
1797 * src/alpha/osf.S: Add .note.GNU-stack on Linux.
1798 * src/s390/sysv.S: Likewise.
1799 * src/powerpc/ppc_closure.S: Likewise.
1800 * src/powerpc/sysv.S: Likewise.
1801 * src/x86/unix64.S: Likewise.
1802 * src/x86/sysv.S: Likewise.
1803 * src/sparc/v8.S: Likewise.
1804 * src/sparc/v9.S: Likewise.
1805 * src/m68k/sysv.S: Likewise.
1806 * src/arm/sysv.S: Likewise.
1807
1808 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1809
1810 * aclocal.m4: Regenerate.
1811 * configure: Likewise.
1812 * Makefile.in: Likewise.
1813 * include/Makefile.in: Likewise.
1814 * testsuite/Makefile.in: Likewise.
1815
1816 2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
1817 Andreas Tobler <a.tobler@schweiz.org>
1818
1819 * configure.ac: Add amd64-*-freebsd* target.
1820 * configure: Regenerate.
1821
1822 2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
1823
1824 PR libffi/34612
1825 * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
1826 returning struct.
1827
1828 * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
1829 tests.
1830
1831 2008-01-24 David Edelsohn <edelsohn@gnu.org>
1832
1833 * configure: Regenerate.
1834
1835 2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
1836
1837 * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
1838
1839 2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
1840
1841 PR testsuite/32843
1842 * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
1843 signed/unsigned int8/16 for X86_DARWIN.
1844 Updated copyright info.
1845 Handle one and two byte structs with special cif->flags.
1846 * src/x86/ffitarget.h: Add special types for one and two byte structs.
1847 Updated copyright info.
1848 * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
1849 sysv.S
1850 Remove code to pop args from the stack after call.
1851 Special-case signed/unsigned for int8/16, one and two byte structs.
1852 (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
1853 FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
1854 FFI_TYPE_SINT32.
1855 Updated copyright info.
1856
1857 2007-12-08 David Daney <ddaney@avtrex.com>
1858
0cfe60e 3.0.9rc12
Anthony Green authored
1859 * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
c6dddbd @atgreen Initial commit
atgreen authored
1860 SUBU, add with ADDU and use smaller code sequences.
1861
1862 2007-12-07 David Daney <ddaney@avtrex.com>
1863
1864 * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
1865 type.
1866
1867 2007-12-06 David Daney <ddaney@avtrex.com>
1868
1869 * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
1870 defined.
1871 (ffi_java_raw): New typedef.
1872 (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
1873 ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
1874 ffi_java_raw.
1875 (ffi_java_raw_closure) : Same.
1876 (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
1877 parameter types.
1878 * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
1879 FFI_SIZEOF_JAVA_RAW.
1880 (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
1881 Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
1882 sizeof(ffi_java_raw) for alignment calculations.
1883 (ffi_java_ptrarray_to_raw): Same.
1884 (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
0cfe60e 3.0.9rc12
Anthony Green authored
1885 if FFI_SIZEOF_JAVA_RAW == 4.
c6dddbd @atgreen Initial commit
atgreen authored
1886 (ffi_java_raw_to_rvalue): Same.
1887 (ffi_java_raw_call): Change type of raw to ffi_java_raw.
1888 (ffi_java_translate_args): Same.
1889 (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
1890 parameter types.
1891 * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
1892
1893 2007-12-06 David Daney <ddaney@avtrex.com>
1894
0cfe60e 3.0.9rc12
Anthony Green authored
1895 * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
c6dddbd @atgreen Initial commit
atgreen authored
1896 pointer values.
1897
1898 2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
1899
1900 PR libffi/31937
1901 * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
1902 Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
1903 * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
1904 set the NUM_FPR_ARG_REGISTERS according to.
1905 Add support for potential soft-float support under hard-float
1906 architecture.
1907 (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
1908 FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
1909 to the FFI_LINUX_SOFT_FLOAT ABI.
1910 (ffi_prep_cif_machdep): Likewise.
1911 (ffi_closure_helper_SYSV): Likewise.
1912 * src/powerpc/ppc_closure.S: Make sure not to store float/double
1913 on archs where __NO_FPRS__ is true.
1914 Add FFI_TYPE_UINT128 support.
1915 * src/powerpc/sysv.S: Add support for soft-float long-double-128.
1916 Adjust copyright notice.
1917
1918 2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
1919
1920 * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
1921 * include/ffi_common.h: ... here.
1922 Update copyright.
1923
1924 2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
1925
1926 * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
1927 * src/powerpc/linux64.S: Likewise.
1928 * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
1929 * testsuite/libffi.call/return_ldl.c: New test.
1930
1931 2007-09-04 <aph@redhat.com>
1932
1933 * src/arm/sysv.S (UNWIND): New.
1934 (Whole file): Conditionally compile unwinder directives.
1935 * src/arm/sysv.S: Add unwinder directives.
1936
1937 * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
1938 Only treat r0 as a struct address if we're actually returning a
1939 struct by address.
1940 Only copy the bytes that are actually within a struct.
1941 (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
1942 is returned in r0, not passed by address.
1943 (ffi_call): Allocate a word-sized temporary for the case where
1944 a composite is returned in r0.
1945 (ffi_prep_incoming_args_SYSV): Align as necessary.
1946
1947 2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
1948
0cfe60e 3.0.9rc12
Anthony Green authored
1949 * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
c6dddbd @atgreen Initial commit
atgreen authored
1950 directly using the sys_cacheflush syscall.
1951
1952 2007-07-27 Andrew Haley <aph@redhat.com>
1953
1954 * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
1955
1956 2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
1957
1958 * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
1959 * configure.ac: Likewise.
1960 * Makefile.in: Regenerate.
1961 * include/Makefile.in: Likewise.
1962 * testsuite/Makefile.in: Likewise.
1963 * configure: Likewise.
1964
1965 2007-08-24 David Daney <ddaney@avtrex.com>
1966
1967 * testsuite/libffi.call/return_sl.c: New test.
1968
1969 2007-08-10 David Daney <ddaney@avtrex.com>
1970
1971 * testsuite/libffi.call/cls_multi_ushort.c,
1972 testsuite/libffi.call/cls_align_uint16.c,
1973 testsuite/libffi.call/nested_struct1.c,
1974 testsuite/libffi.call/nested_struct3.c,
1975 testsuite/libffi.call/cls_7_1_byte.c,
1976 testsuite/libffi.call/nested_struct5.c,
1977 testsuite/libffi.call/cls_double.c,
1978 testsuite/libffi.call/nested_struct7.c,
1979 testsuite/libffi.call/cls_sint.c,
1980 testsuite/libffi.call/nested_struct9.c,
1981 testsuite/libffi.call/cls_20byte1.c,
1982 testsuite/libffi.call/cls_multi_sshortchar.c,
1983 testsuite/libffi.call/cls_align_sint64.c,
1984 testsuite/libffi.call/cls_3byte2.c,
1985 testsuite/libffi.call/cls_multi_schar.c,
1986 testsuite/libffi.call/cls_multi_uchar.c,
1987 testsuite/libffi.call/cls_19byte.c,
1988 testsuite/libffi.call/cls_9byte1.c,
1989 testsuite/libffi.call/cls_align_float.c,
1990 testsuite/libffi.call/closure_fn1.c,
1991 testsuite/libffi.call/problem1.c,
1992 testsuite/libffi.call/closure_fn3.c,
1993 testsuite/libffi.call/cls_sshort.c,
1994 testsuite/libffi.call/closure_fn5.c,
1995 testsuite/libffi.call/cls_align_double.c,
1996 testsuite/libffi.call/nested_struct.c,
1997 testsuite/libffi.call/cls_2byte.c,
1998 testsuite/libffi.call/nested_struct10.c,
1999 testsuite/libffi.call/cls_4byte.c,
2000 testsuite/libffi.call/cls_6byte.c,
2001 testsuite/libffi.call/cls_8byte.c,
2002 testsuite/libffi.call/cls_multi_sshort.c,
2003 testsuite/libffi.call/cls_align_sint16.c,
2004 testsuite/libffi.call/cls_align_uint32.c,
2005 testsuite/libffi.call/cls_20byte.c,
2006 testsuite/libffi.call/cls_float.c,
2007 testsuite/libffi.call/nested_struct2.c,
2008 testsuite/libffi.call/cls_5_1_byte.c,
2009 testsuite/libffi.call/nested_struct4.c,
2010 testsuite/libffi.call/cls_24byte.c,
2011 testsuite/libffi.call/nested_struct6.c,
2012 testsuite/libffi.call/cls_64byte.c,
2013 testsuite/libffi.call/nested_struct8.c,
2014 testsuite/libffi.call/cls_uint.c,
2015 testsuite/libffi.call/cls_multi_ushortchar.c,
2016 testsuite/libffi.call/cls_schar.c,
2017 testsuite/libffi.call/cls_uchar.c,
2018 testsuite/libffi.call/cls_align_uint64.c,
2019 testsuite/libffi.call/cls_ulonglong.c,
2020 testsuite/libffi.call/cls_align_longdouble.c,
2021 testsuite/libffi.call/cls_1_1byte.c,
2022 testsuite/libffi.call/cls_12byte.c,
2023 testsuite/libffi.call/cls_3_1byte.c,
2024 testsuite/libffi.call/cls_3byte1.c,
2025 testsuite/libffi.call/cls_4_1byte.c,
2026 testsuite/libffi.call/cls_6_1_byte.c,
2027 testsuite/libffi.call/cls_16byte.c,
2028 testsuite/libffi.call/cls_18byte.c,
2029 testsuite/libffi.call/closure_fn0.c,
2030 testsuite/libffi.call/cls_9byte2.c,
2031 testsuite/libffi.call/closure_fn2.c,
2032 testsuite/libffi.call/closure_fn4.c,
2033 testsuite/libffi.call/cls_ushort.c,
2034 testsuite/libffi.call/closure_fn6.c,
2035 testsuite/libffi.call/cls_5byte.c,
2036 testsuite/libffi.call/cls_align_pointer.c,
2037 testsuite/libffi.call/cls_7byte.c,
2038 testsuite/libffi.call/cls_align_sint32.c,
2039 testsuite/libffi.special/unwindtest_ffi_call.cc,
2040 testsuite/libffi.special/unwindtest.cc: Remove xfail for mips64*-*-*.
2041
2042 2007-08-10 David Daney <ddaney@avtrex.com>
2043
2044 PR libffi/28313
2045 * configure.ac: Don't treat mips64 as a special case.
2046 * Makefile.am (nodist_libffi_la_SOURCES): Add n32.S.
2047 * configure: Regenerate
2048 * Makefile.in: Ditto.
2049 * fficonfig.h.in: Ditto.
2050 * src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent.
2051 (LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros.
2052 (FFI_DEFAULT_ABI): Set for n64 case.
2053 (FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases.
2054 * src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE.
2055 (ffi_closure_N32): New function.
2056 (.eh_frame): New section
2057 * src/mips/o32.S: Clean up comments.
2058 (ffi_closure_O32): Pass ffi_closure parameter in $12.
2059 * src/mips/ffi.c: Use FFI_MIPS_N32 instead of
2060 _MIPS_SIM == _ABIN32 throughout.
2061 (FFI_MIPS_STOP_HERE): New, use in place of
2062 ffi_stop_here.
2063 (ffi_prep_args): Use unsigned long to hold pointer values. Rewrite
2064 to support n32/n64 ABIs.
2065 (calc_n32_struct_flags): Rewrite.
2066 (calc_n32_return_struct_flags): Remove unused variable. Reverse
2067 position of flag bits.
2068 (ffi_prep_cif_machdep): Rewrite n32 portion.
2069 (ffi_call): Enable for n64. Add special handling for small structure
2070 return values.
2071 (ffi_prep_closure_loc): Add n32 and n64 support.
2072 (ffi_closure_mips_inner_O32): Add cast to silence warning.
2073 (copy_struct_N32, ffi_closure_mips_inner_N32): New functions.
2074
2075 2007-08-08 David Daney <ddaney@avtrex.com>
2076
2077 * testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition.
2078 * testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
2079 specifiers.
2080 * testsuite/libffi.call/nested_struct1.c (main): Ditto.
2081 * testsuite/libffi.call/cls_sint.c (main): Ditto.
2082 * testsuite/libffi.call/nested_struct9.c (main): Ditto.
2083 * testsuite/libffi.call/cls_20byte1.c (main): Ditto.
2084 * testsuite/libffi.call/cls_9byte1.c (main): Ditto.
2085 * testsuite/libffi.call/closure_fn1.c (main): Ditto.
2086 * testsuite/libffi.call/closure_fn3.c (main): Ditto.
2087 * testsuite/libffi.call/return_dbl2.c (main): Ditto.
2088 * testsuite/libffi.call/cls_sshort.c (main): Ditto.
2089 * testsuite/libffi.call/return_fl3.c (main): Ditto.
2090 * testsuite/libffi.call/closure_fn5.c (main): Ditto.
2091 * testsuite/libffi.call/nested_struct.c (main): Ditto.
2092 * testsuite/libffi.call/nested_struct10.c (main): Ditto.
2093 * testsuite/libffi.call/return_ll1.c (main): Ditto.
2094 * testsuite/libffi.call/cls_8byte.c (main): Ditto.
2095 * testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
2096 * testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
2097 * testsuite/libffi.call/cls_20byte.c (main): Ditto.
2098 * testsuite/libffi.call/nested_struct2.c (main): Ditto.
2099 * testsuite/libffi.call/cls_24byte.c (main): Ditto.
2100 * testsuite/libffi.call/nested_struct6.c (main): Ditto.
2101 * testsuite/libffi.call/cls_uint.c (main): Ditto.
2102 * testsuite/libffi.call/cls_12byte.c (main): Ditto.
2103 * testsuite/libffi.call/cls_16byte.c (main): Ditto.
2104 * testsuite/libffi.call/closure_fn0.c (main): Ditto.
2105 * testsuite/libffi.call/cls_9byte2.c (main): Ditto.
2106 * testsuite/libffi.call/closure_fn2.c (main): Ditto.
2107 * testsuite/libffi.call/return_dbl1.c (main): Ditto.
2108 * testsuite/libffi.call/closure_fn4.c (main): Ditto.
2109 * testsuite/libffi.call/closure_fn6.c (main): Ditto.
2110 * testsuite/libffi.call/cls_align_sint32.c (main): Ditto.
2111
2112 2007-08-07 Andrew Haley <aph@redhat.com>
2113
2114 * src/x86/sysv.S (ffi_closure_raw_SYSV): Fix typo in previous
2115 checkin.
2116
2117 2007-08-06 Andrew Haley <aph@redhat.com>
2118
2119 PR testsuite/32843
2120 * src/x86/sysv.S (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
2121 FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
2122 FFI_TYPE_SINT32.
2123
2124 2007-08-02 David Daney <ddaney@avtrex.com>
2125
2126 * testsuite/libffi.call/return_ul.c (main): Define return type as
2127 ffi_arg. Use proper printf conversion specifier.
0cfe60e 3.0.9rc12
Anthony Green authored
2128
c6dddbd @atgreen Initial commit
atgreen authored
2129 2007-07-30 Andrew Haley <aph@redhat.com>
2130
2131 PR testsuite/32843
2132 * src/x86/ffi.c (ffi_prep_cif_machdep): in x86 case, add code for
2133 signed/unsigned int8/16.
2134 * src/x86/sysv.S (ffi_call_SYSV): Rewrite to:
2135 Use a jump table.
2136 Remove code to pop args from the stack after call.
2137 Special-case signed/unsigned int8/16.
2138 * testsuite/libffi.call/return_sc.c (main): Revert.
2139
2140 2007-07-26 Richard Guenther <rguenther@suse.de>
2141
2142 PR testsuite/32843
2143 * testsuite/libffi.call/return_sc.c (main): Verify call
2144 result as signed char, not ffi_arg.
2145
2146 2007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2147
2148 * configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64.
2149 * configure: Regenerate.
2150
2151 2007-07-11 David Daney <ddaney@avtrex.com>
2152
2153 * src/mips/ffi.c: Don't include sys/cachectl.h.
2154 (ffi_prep_closure_loc): Use __builtin___clear_cache() instead of
2155 cacheflush().
2156
2157 2007-05-18 Aurelien Jarno <aurelien@aurel32.net>
2158
2159 * src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted
2160 from (ffi_prep_closure): ... this.
2161 (FFI_INIT_TRAMPOLINE): Adjust.
2162
2163 2005-12-31 Phil Blundell <pb@reciva.com>
2164
0cfe60e 3.0.9rc12
Anthony Green authored
2165 * src/arm/ffi.c (ffi_prep_incoming_args_SYSV,
2166 ffi_closure_SYSV_inner, ffi_prep_closure): New, add closure support.
c6dddbd @atgreen Initial commit
atgreen authored
2167 * src/arm/sysv.S(ffi_closure_SYSV): Likewise.
2168 * src/arm/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
2169 (FFI_CLOSURES): Enable closure support.
2170
2171 2007-07-03 Andrew Haley <aph@hedges.billgatliff.com>
2172
0cfe60e 3.0.9rc12
Anthony Green authored
2173 * testsuite/libffi.call/cls_multi_ushort.c,
2174 testsuite/libffi.call/cls_align_uint16.c,
2175 testsuite/libffi.call/nested_struct1.c,
2176 testsuite/libffi.call/nested_struct3.c,
2177 testsuite/libffi.call/cls_7_1_byte.c,
2178 testsuite/libffi.call/cls_double.c,
2179 testsuite/libffi.call/nested_struct5.c,
2180 testsuite/libffi.call/nested_struct7.c,
2181 testsuite/libffi.call/cls_sint.c,
2182 testsuite/libffi.call/nested_struct9.c,
2183 testsuite/libffi.call/cls_20byte1.c,
2184 testsuite/libffi.call/cls_multi_sshortchar.c,
2185 testsuite/libffi.call/cls_align_sint64.c,
2186 testsuite/libffi.call/cls_3byte2.c,
2187 testsuite/libffi.call/cls_multi_schar.c,
2188 testsuite/libffi.call/cls_multi_uchar.c,
2189 testsuite/libffi.call/cls_19byte.c,
2190 testsuite/libffi.call/cls_9byte1.c,
2191 testsuite/libffi.call/cls_align_float.c,
2192 testsuite/libffi.call/closure_fn1.c,
2193 testsuite/libffi.call/problem1.c,
2194 testsuite/libffi.call/closure_fn3.c,
2195 testsuite/libffi.call/cls_sshort.c,
2196 testsuite/libffi.call/closure_fn5.c,
2197 testsuite/libffi.call/cls_align_double.c,
2198 testsuite/libffi.call/cls_2byte.c,
2199 testsuite/libffi.call/nested_struct.c,
2200 testsuite/libffi.call/nested_struct10.c,
2201 testsuite/libffi.call/cls_4byte.c,
2202 testsuite/libffi.call/cls_6byte.c,
2203 testsuite/libffi.call/cls_8byte.c,
2204 testsuite/libffi.call/cls_multi_sshort.c,
2205 testsuite/libffi.call/cls_align_uint32.c,
2206 testsuite/libffi.call/cls_align_sint16.c,
2207 testsuite/libffi.call/cls_float.c,
2208 testsuite/libffi.call/cls_20byte.c,
2209 testsuite/libffi.call/cls_5_1_byte.c,
2210 testsuite/libffi.call/nested_struct2.c,
2211 testsuite/libffi.call/cls_24byte.c,
2212 testsuite/libffi.call/nested_struct4.c,
2213 testsuite/libffi.call/nested_struct6.c,
2214 testsuite/libffi.call/cls_64byte.c,
2215 testsuite/libffi.call/nested_struct8.c,
2216 testsuite/libffi.call/cls_uint.c,
2217 testsuite/libffi.call/cls_multi_ushortchar.c,
2218 testsuite/libffi.call/cls_schar.c,
2219 testsuite/libffi.call/cls_uchar.c,
2220 testsuite/libffi.call/cls_align_uint64.c,
2221 testsuite/libffi.call/cls_ulonglong.c,
2222 testsuite/libffi.call/cls_align_longdouble.c,
2223 testsuite/libffi.call/cls_1_1byte.c,
2224 testsuite/libffi.call/cls_12byte.c,
2225 testsuite/libffi.call/cls_3_1byte.c,
2226 testsuite/libffi.call/cls_3byte1.c,
2227 testsuite/libffi.call/cls_4_1byte.c,
2228 testsuite/libffi.call/cls_6_1_byte.c,
2229 testsuite/libffi.call/cls_16byte.c,
2230 testsuite/libffi.call/cls_18byte.c,
2231 testsuite/libffi.call/closure_fn0.c,
2232 testsuite/libffi.call/cls_9byte2.c,
2233 testsuite/libffi.call/closure_fn2.c,
2234 testsuite/libffi.call/closure_fn4.c,
2235 testsuite/libffi.call/cls_ushort.c,
2236 testsuite/libffi.call/closure_fn6.c,
2237 testsuite/libffi.call/cls_5byte.c,
2238 testsuite/libffi.call/cls_align_pointer.c,
2239 testsuite/libffi.call/cls_7byte.c,
2240 testsuite/libffi.call/cls_align_sint32.c,
2241 testsuite/libffi.special/unwindtest_ffi_call.cc,
2242 testsuite/libffi.special/unwindtest.cc: Enable for ARM.
c6dddbd @atgreen Initial commit
atgreen authored
2243
2244 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
2245
2246 * aclocal.m4: Regenerated.
2247
2248 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
2249
2250 * configure: Regenerate.
2251
2252 2007-05-23 Steve Ellcey <sje@cup.hp.com>
2253
2254 * Makefile.in: Regenerate.
2255 * configure: Regenerate.
2256 * aclocal.m4: Regenerate.
2257 * include/Makefile.in: Regenerate.
2258 * testsuite/Makefile.in: Regenerate.
2259
2260 2007-05-10 Roman Zippel <zippel@linux-m68k.org>
2261
2262 * src/m68k/ffi.c (ffi_prep_incoming_args_SYSV,
2263 ffi_closure_SYSV_inner,ffi_prep_closure): New, add closure support.
2264 * src/m68k/sysv.S(ffi_closure_SYSV,ffi_closure_struct_SYSV): Likewise.
2265 * src/m68k/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
2266 (FFI_CLOSURES): Enable closure support.
2267
2268 2007-05-10 Roman Zippel <zippel@linux-m68k.org>
2269
2270 * configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test.
2271 * configure: Regenerate.
2272 * fficonfig.h.in: Regenerate.
2273 * src/m68k/sysv.S (CFI_STARTPROC,CFI_ENDPROC,
2274 CFI_OFFSET,CFI_DEF_CFA): New macros.
2275 (ffi_call_SYSV): Add callframe annotation.
2276
2277 2007-05-10 Roman Zippel <zippel@linux-m68k.org>
2278
2279 * src/m68k/ffi.c (ffi_prep_args,ffi_prep_cif_machdep): Fix
2280 numerous test suite failures.
2281 * src/m68k/sysv.S (ffi_call_SYSV): Likewise.
2282
2283 2007-04-11 Paolo Bonzini <bonzini@gnu.org>
2284
2285 * Makefile.am (EXTRA_DIST): Bring up to date.
2286 * Makefile.in: Regenerate.
2287 * src/frv/eabi.S: Remove RCS keyword.
2288
2289 2007-04-06 Richard Henderson <rth@redhat.com>
2290
2291 * configure.ac: Tidy target case.
2292 (HAVE_LONG_DOUBLE): Allow the target to override.
2293 * configure: Regenerate.
2294 * include/ffi.h.in: Don't define ffi_type_foo if
2295 LIBFFI_HIDE_BASIC_TYPES is defined.
2296 (ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
2297 to ffi_type_double.
2298 * types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
2299 (FFI_TYPEDEF, ffi_type_void): Mark the data const.
2300 (ffi_type_longdouble): Special case for Alpha. Don't define
2301 if long double == double.
2302
2303 * src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
2304 (ffi_prep_cif_machdep): Handle it as the 128-bit type.
2305 (ffi_call, ffi_closure_osf_inner): Likewise.
2306 (ffi_closure_osf_inner): Likewise. Mark hidden.
2307 (ffi_call_osf, ffi_closure_osf): Mark hidden.
2308 * src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
2309 * src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
2310 (load_table): Handle 128-bit long double.
2311
2312 * testsuite/libffi.call/float4.c: Add -mieee for alpha.
2313
2314 2007-04-06 Tom Tromey <tromey@redhat.com>
2315
2316 PR libffi/31491:
2317 * README: Fixed bug in example.
2318
2319 2007-04-03 Jakub Jelinek <jakub@redhat.com>
2320
2321 * src/closures.c: Include sys/statfs.h.
2322 (_GNU_SOURCE): Define on Linux.
2323 (FFI_MMAP_EXEC_SELINUX): Define.
2324 (selinux_enabled): New variable.
2325 (selinux_enabled_check): New function.
2326 (is_selinux_enabled): Define.
2327 (dlmmap): Use it.
2328
2329 2007-03-24 Uros Bizjak <ubizjak@gmail.com>
2330
2331 * testsuite/libffi.call/return_fl2.c (return_fl): Mark as static.
2332 Use 'volatile float sum' to create sum of floats to avoid false
2333 negative due to excess precision on ix86 targets.
0cfe60e 3.0.9rc12
Anthony Green authored
2334 (main): Ditto.
c6dddbd @atgreen Initial commit
atgreen authored
2335
2336 2007-03-08 Alexandre Oliva <aoliva@redhat.com>
2337
2338 * src/powerpc/ffi.c (flush_icache): Fix left-over from previous
2339 patch.
2340 (ffi_prep_closure_loc): Remove unneeded casts. Add needed ones.
2341
2342 2007-03-07 Alexandre Oliva <aoliva@redhat.com>
2343
2344 * include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
2345 (ffi_prep_closure_loc): New.
2346 (ffi_prep_raw_closure_loc): New.
2347 (ffi_prep_java_raw_closure_loc): New.
2348 * src/closures.c: New file.
2349 * src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
2350 Replace sflags with exec_offset.
2351 [FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
2352 sub_segment_exec_offset): New macros.
2353 (get_segment_flags, set_segment_flags, check_segment_merge): New
2354 macros.
2355 (is_mmapped_segment, is_extern_segment): Use get_segment_flags.
2356 (add_segment, sys_alloc, create_mspace, create_mspace_with_base,
2357 destroy_mspace): Use new macros.
2358 (sys_alloc): Silence warning.
2359 * Makefile.am (libffi_la_SOURCES): Add src/closures.c.
2360 * Makefile.in: Rebuilt.
2361 * src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
2362 terms of ffi_prep_closure_loc.
2363 * src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
2364 from...
2365 (ffi_prep_raw_closure): ... this. Re-implement in terms of the
2366 renamed version.
2367 * src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
2368 adjusted from...
2369 (ffi_prep_java_raw_closure): ... this. Re-implement in terms of
2370 the renamed version.
2371 * src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
2372 (ffi_prep_closure): ... this.
2373 * src/pa/ffi.c: Likewise.
2374 * src/cris/ffi.c: Likewise. Adjust.
2375 * src/frv/ffi.c: Likewise.
2376 * src/ia64/ffi.c: Likewise.
2377 * src/mips/ffi.c: Likewise.
2378 * src/powerpc/ffi_darwin.c: Likewise.
2379 * src/s390/ffi.c: Likewise.
2380 * src/sh/ffi.c: Likewise.
2381 * src/sh64/ffi.c: Likewise.
2382 * src/sparc/ffi.c: Likewise.
2383 * src/x86/ffi64.c: Likewise.
2384 * src/x86/ffi.c: Likewise.
2385 (FFI_INIT_TRAMPOLINE): Adjust.
2386 (ffi_prep_raw_closure_loc): Renamed and adjusted from...
2387 (ffi_prep_raw_closure): ... this.
2388 * src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
2389 (ffi_prep_closure): ... this.
2390 (flush_icache): Adjust.
2391
2392 2007-03-07 Alexandre Oliva <aoliva@redhat.com>
2393
2394 * src/dlmalloc.c: New file, imported version 2.8.3 of Doug
2395 Lea's malloc.
2396
2397 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
2398
2399 * Makefile.am: Add dummy install-pdf target.
2400 * Makefile.in: Regenerate
2401
2402 2007-02-13 Andreas Krebbel <krebbel1@de.ibm.com>
2403
2404 * src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep,
2405 ffi_closure_helper_SYSV): Add long double handling.
2406
2407 2007-02-02 Jakub Jelinek <jakub@redhat.com>
2408
2409 * src/powerpc/linux64.S (ffi_call_LINUX64): Move restore of r2
2410 immediately after bctrl instruction.
2411
2412 2007-01-18 Alexandre Oliva <aoliva@redhat.com>
2413
2414 * Makefile.am (all-recursive, install-recursive,
2415 mostlyclean-recursive, clean-recursive, distclean-recursive,
2416 maintainer-clean-recursive): Add missing targets.
2417 * Makefile.in: Rebuilt.
2418
2419 2006-12-14 Andreas Tobler <a.tobler@schweiz.org>
2420
2421 * configure.ac: Add TARGET for x86_64-*-darwin*.
2422 * Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
2423 for X86_DARWIN.
2424 * src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
2425 * src/x86/darwin64.S: New file for x86_64-*-darwin* support.
2426 * configure: Regenerate.
2427 * Makefile.in: Regenerate.
2428 * include/Makefile.in: Regenerate.
2429 * testsuite/Makefile.in: Regenerate.
2430 * testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
2431 ffi_call only.
2432
2433 2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
2434
2435 * aclocal.m4: Regenerate with aclocal -I .. as written in the
2436 Makefile.am.
2437
2438 2006-10-31 Geoffrey Keating <geoffk@apple.com>
2439
2440 * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
2441 (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
2442 Darwin.
2443 * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
2444 * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
2445
2446 2006-10-10 Paolo Bonzini <bonzini@gnu.org>
2447 Sandro Tolaini <tolaini@libero.it>
2448
0cfe60e 3.0.9rc12
Anthony Green authored
2449 * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
c6dddbd @atgreen Initial commit
atgreen authored
2450 conditional.
2451 * configure: Regenerated.
2452 * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
2453 (EXTRA_DIST): Add src/x86/darwin.S.
2454 * Makefile.in: Regenerated.
2455 * include/Makefile.in: Regenerated.
2456 * testsuite/Makefile.in: Regenerated.
2457
2458 * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
2459 X86_WIN32, and additionally align stack to 16 bytes.
2460 * src/x86/darwin.S: New, based on sysv.S.
2461 * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
2462
2463 2006-09-12 David Daney <ddaney@avtrex.com>
2464
2465 PR libffi/23935
2466 * include/Makefile.am: Install both ffi.h and ffitarget.h in
2467 $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
2468 * aclocal.m4: Regenerated for automake 1.9.6.
2469 * Makefile.in: Regenerated.
2470 * include/Makefile.in: Regenerated.
2471 * testsuite/Makefile.in: Regenerated.
2472
2473 2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
2474
2475 * include/ffi_common.h (struct): Revert accidental commit.
2476
2477 2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
2478
2479 * include/ffi_common.h: Remove lint directives.
2480 * include/ffi.h.in: Likewise.
2481
2482 2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
2483
2484 * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
2485 for 32-bit architectures.
2486 * testsuite/libffi.call/return_ul.c: New test case.
2487
2488 2006-07-19 David Daney <ddaney@avtrex.com>
2489
2490 * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
2491 xfail remains for mips64.
2492
2493 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
2494
2495 * Makefile.am: Add install-html target. Add install-html to .PHONY
2496 * Makefile.in: Regenerate.
2497 * aclocal.m4: Regenerate.
2498 * include/Makefile.in: Regenerate.
2499 * testsuite/Makefile.in: Regenerate.
2500
2501 2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2502
2503 * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
2504 stack slot.
2505
2506 2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
2507
2508 * README: Remove notice about 'Crazy Comments'.
2509 * src/debug.c: Remove lint directives. Cleanup white spaces.
2510 * src/java_raw_api.c: Likewise.
2511 * src/prep_cif.c: Likewise.
2512 * src/raw_api.c: Likewise.
2513 * src/ffitest.c: Delete. No longer needed, all test cases migrated
2514 to the testsuite.
2515 * src/arm/ffi.c: Remove lint directives.
2516 * src/m32r/ffi.c: Likewise.
2517 * src/pa/ffi.c: Likewise.
2518 * src/powerpc/ffi.c: Likewise.
2519 * src/powerpc/ffi_darwin.c: Likewise.
2520 * src/sh/ffi.c: Likewise.
2521 * src/sh64/ffi.c: Likewise.
2522 * src/x86/ffi.c: Likewise.
2523 * testsuite/libffi.call/float2.c: Likewise.
2524 * testsuite/libffi.call/promotion.c: Likewise.
2525 * testsuite/libffi.call/struct1.c: Likewise.
2526
2527 2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
2528
2529 * src/pa/hpux32.S: Correct unwind offset calculation for
2530 ffi_closure_pa32.
2531 * src/pa/linux.S: Likewise.
2532
2533 2006-04-12 James E Wilson <wilson@specifix.com>
2534
2535 PR libgcj/26483
2536 * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
2537 (hfa_type_load): Call stf_spill.
2538 (hfa_type_store): Call ldf_fill.
2539 (ffi_call): Adjust calls to above routines. Add local temps for
2540 macro result.
2541
2542 2006-04-10 Matthias Klose <doko@debian.org>
2543
2544 * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
2545 directory names containing underscores.
2546
2547 2006-04-07 James E Wilson <wilson@specifix.com>
2548
2549 * testsuite/libffi.call/float4.c: New testcase.
2550
2551 2006-04-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2552 Andreas Tobler <a.tobler@schweiz.ch>
2553
2554 * Makefile.am: Add PA_HPUX port.
2555 * Makefile.in: Regenerate.
2556 * include/Makefile.in: Likewise.
2557 * testsuite/Makefile.in: Likewise.
2558 * configure.ac: Add PA_HPUX rules.
2559 * configure: Regenerate.
2560 * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
2561 Add PA_HPUX and PA64_HPUX.
2562 Rename FFI_LINUX ABI to FFI_PA32 ABI.
2563 (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
2564 (FFI_TYPE_SMALL_STRUCT2): Define.
2565 (FFI_TYPE_SMALL_STRUCT4): Likewise.
2566 (FFI_TYPE_SMALL_STRUCT8): Likewise.
2567 (FFI_TYPE_SMALL_STRUCT3): Redefine.
2568 (FFI_TYPE_SMALL_STRUCT5): Likewise.
2569 (FFI_TYPE_SMALL_STRUCT6): Likewise.
2570 (FFI_TYPE_SMALL_STRUCT7): Likewise.
2571 * src/pa/ffi.c (ROUND_DOWN): Delete.
2572 (fldw, fstw, fldd, fstd): Use '__asm__'.
2573 (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
2574 FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
2575 (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
2576 Simplify incrementing of stack slot variable. Change type of local
2577 'n' to unsigned int.
2578 (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
2579 double on PA_HPUX.
2580 (ffi_prep_cif_machdep): Likewise.
2581 (ffi_call): Likewise.
2582 (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
2583 return type to ffi_status. Simplify incrementing of stack slot
2584 variable. Only copy floating point argument registers when PA_LINUX
2585 is true. Reformat debug statement.
2586 Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
2587 FFI_TYPE_SMALL_STRUCT8.
2588 (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
2589 declaration.
2590 (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
2591 Add nops to cache flush. Add trampoline for PA_HPUX.
2592 * src/pa/hpux32.S: New file.
2593 * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
2594 ffi_prep_args_LINUX to ffi_prep_args_pa32.
2595 Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
2596 unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
2597 argument type checks so that common argument types appear first.
2598 (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
2599 ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
2600
2601 2006-03-24 Alan Modra <amodra@bigpond.net.au>
2602
2603 * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
2604 for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
2605 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
2606 FFI_TYPE_LONGDOUBLE.
2607 (ffi_prep_args64): Assert using IBM extended double.
2608 (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
2609 Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
2610 (ffi_call): Handle FFI_LINUX.
2611 (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
2612 gpr3 return pointer as for struct return. Handle FFI_LINUX
2613 FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
2614 unnecessarily.
2615 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
2616 for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
2617 Don't use r6 as pointer to results, instead use sp offset. Don't
2618 make a special call to load lr with case table address, instead
2619 use offset from previous call.
2620 * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
2621 * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
2622 return.
2623
2624 2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
2625
2626 * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
2627 passed with FP registers correctly.
2628 (ffi_closure_helper_SYSV): Likewise.
2629 * src/sh64/sysv.S: Likewise.
2630
2631 2006-03-01 Andreas Tobler <a.tobler@schweiz.ch>
2632
2633 * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
2634 args and userdata unused.
2635 (closure_test_fn1): Mark cif and userdata unused.
2636 (main): Remove unused res.
2637
2638 2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
2639
2640 * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
2641 -O2, -O3, -Os and the warning flags -W -Wall.
2642 * testsuite/libffi.special/special.exp: Likewise.
2643 * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
2644 unused parameter unused for gcc or else do nothing.
2645 * testsuite/libffi.special/ffitestcxx.h: Likewise.
2646 * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
2647 and userdata unused.
2648 * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
2649 * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
2650 * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
2651 * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
2652 * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
2653 * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
2654 * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
2655 * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
2656 * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
2657 * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
2658 * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
2659 * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
2660 * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
2661 * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
2662 * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
2663 * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
2664 * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
2665 * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
2666 * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
2667 * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
2668 * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
2669 * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
2670 * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
2671 * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
2672 Likewise.
2673 * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
2674 Likewise.
2675 * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
2676 Likewise.
2677 * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
2678 void* to avoid compiler warning.
2679 (main): Likewise.
2680 (cls_struct_align_gn): Mark cif and userdata unused.
2681 * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
2682 Likewise.
2683 * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
2684 Likewise.
2685 * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
2686 Likewise.
2687 * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
2688 Likewise.
2689 * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
2690 Likewise.
2691 * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
2692 * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
2693 * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
2694 data unused.
2695 (main): Cast res_call to silence gcc.
2696 * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
2697 data unused.
2698 (main): Cast res_call to silence gcc.
2699 * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
2700 and data unused.
2701 (main): Cast res_call to silence gcc.
2702 * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
2703 data unused.
2704 (main): Cast res_call to silence gcc.
2705 * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
2706 data unused.
2707 (main): Cast res_call to silence gcc.
2708 * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
2709 and data unused.
2710 (main): Cast res_call to silence gcc.
2711 * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
2712 userdata unused.
2713 (cls_ret_schar_fn): Cast printf parameter to silence gcc.
2714 * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
2715 userdata unused.
2716 (cls_ret_sint_fn): Cast printf parameter to silence gcc.
2717 * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
2718 userdata unused.
2719 (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
2720 * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
2721 userdata unused.
2722 (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
2723 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
2724 userdata unused.
2725 (cls_ret_uint_fn): Cast printf parameter to silence gcc.
2726 * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
2727 and userdata unused.
2728 * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
2729 userdata unused.
2730 (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
2731 * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
2732 * testsuite/libffi.call/float1.c (main): Remove unused variable i.
2733 Cleanup white spaces.
2734 * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
2735 * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
2736 cif and userdata unused.
2737 * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
2738 Likewise.
2739 * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
2740 * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
2741 formatters to silence gcc.
2742 (B_gn): Mark cif and userdata unused.
2743 * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
2744 unused.
2745 * testsuite/libffi.call/nested_struct4.c: Mention related PR.
2746 (B_gn): Mark cif and userdata unused.
2747 * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
2748 unused.
2749 * testsuite/libffi.call/nested_struct6.c: Mention related PR.
2750 (B_gn): Mark cif and userdata unused.
2751 * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
2752 unused.
2753 * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
2754 * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
2755 * testsuite/libffi.call/problem1.c (stub): Likewise.
2756 * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
2757 gcc.
2758 * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
2759 in the last commit for this test case in the test case itself.
2760 * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
2761 unused.
2762 * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
2763 * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
2764 * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
2765 * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
2766 * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
2767 * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
2768
2769 2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
2770
2771 * src/sh/sysv.S: Fix register numbers in the FDE for
2772 ffi_closure_SYSV.
2773
2774 2006-02-20 Andreas Tobler <a.tobler@schweiz.ch>
2775
2776 * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
2777 declaration to avoid a false negative on ix86. See PR323.
2778
2779 2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
2780
2781 * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
2782 and cast integer to void * if needed. Update the pointer to
2783 the FP register saved area correctly.
0cfe60e 3.0.9rc12
Anthony Green authored
2784
c6dddbd @atgreen Initial commit
atgreen authored
2785 2006-02-17 Andreas Tobler <a.tobler@schweiz.ch>
2786
2787 * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
2788 is fixed.
2789 * testsuite/libffi.call/nested_struct4.c: Likewise.
2790
2791 2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
2792
2793 * testsuite/libffi.call/return_dbl.c: New test case.
2794 * testsuite/libffi.call/return_dbl1.c: Likewise.
2795 * testsuite/libffi.call/return_dbl2.c: Likewise.
2796 * testsuite/libffi.call/return_fl.c: Likewise.
2797 * testsuite/libffi.call/return_fl1.c: Likewise.
2798 * testsuite/libffi.call/return_fl2.c: Likewise.
2799 * testsuite/libffi.call/return_fl3.c: Likewise.
2800 * testsuite/libffi.call/closure_fn6.c: Likewise.
2801
2802 * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
2803 definition.
2804 * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
2805 here to be used by other test cases too.
2806
2807 * testsuite/libffi.call/nested_struct10.c: New test case.
2808 * testsuite/libffi.call/nested_struct9.c: Likewise.
2809 * testsuite/libffi.call/nested_struct8.c: Likewise.
2810 * testsuite/libffi.call/nested_struct7.c: Likewise.
2811 * testsuite/libffi.call/nested_struct6.c: Likewise.
2812 * testsuite/libffi.call/nested_struct5.c: Likewise.
2813 * testsuite/libffi.call/nested_struct4.c: Likewise.
2814
2815 2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
2816
2817 * configure.ac: Enable libffi for sparc64-*-freebsd*.
2818 * configure: Rebuilt.
2819
2820 2006-01-18 Jakub Jelinek <jakub@redhat.com>
2821
2822 * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
2823 instead do the shifting inline.
2824 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
2825 shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
2826 and 8 byte structs, for the remaining struct sizes don't call
2827 __lshrdi3, instead do the shifting inline.
2828
2829 2005-12-07 Thiemo Seufer <ths@networkno.de>
2830
2831 * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
2832 missing parentheses.
2833 * src/mips/o32.S (ffi_call_O32): Code formatting. Define
2834 and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
2835 (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
2836 A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
2837 V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
2838 FA_0_0_OFF2.
2839 * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
2840 endianness bugs.
2841 (ffi_prep_closure): Improve trampoline instruction scheduling.
2842 (ffi_closure_mips_inner_O32): Fix endianness bugs.
2843
2844 2005-12-03 Alan Modra <amodra@bigpond.net.au>
2845
2846 * src/powerpc/ffi.c: Formatting.
2847 (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
2848 (ffi_prep_args64): Likewise.
2849
2850 2005-09-30 Geoffrey Keating <geoffk@apple.com>
2851
2852 * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
2853 darwin, use -shared-libgcc not -lgcc_s, and explain why.
2854
2855 2005-09-26 Tom Tromey <tromey@redhat.com>
2856
2857 * testsuite/libffi.call/float1.c (value_type): New typedef.
2858 (CANARY): New define.
2859 (main): Check for result buffer overflow.
2860 * src/powerpc/linux64.S: Handle linux64 long double returns.
2861 * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
2862 (ffi_prep_cif_machdep): Handle linux64 long double returns.
2863
2864 2005-08-25 Alan Modra <amodra@bigpond.net.au>
2865
2866 PR target/23404
2867 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
2868 homed fp args.
2869 (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
2870
2871 2005-08-11 Jakub Jelinek <jakub@redhat.com>
2872
2873 * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
2874 (AH_BOTTOM): Add FFI_HIDDEN definition.
2875 * configure: Rebuilt.
2876 * fficonfig.h.in: Rebuilt.
2877 * src/powerpc/ffi.c (hidden): Remove.