blob: 6984b0a8884918d0ae168bf1aa8f4d6033c4f031 [file] [log] [blame]
Anthony Green048d2f42012-10-11 10:55:25 -040012012-09-14 David Edelsohn <dje.gcc@gmail.com>
2
3 * configure: Regenerated.
4
52012-08-26 Andrew Pinski <apinski@cavium.com>
6
7 PR libffi/53014
8 * src/mips/ffi.c (ffi_prep_closure_loc): Allow n32 with soft-float and n64 with
9 soft-float.
10
112012-08-08 Uros Bizjak <ubizjak@gmail.com>
12
13 * src/s390/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
14 just return FFI_BAD_ABI when things are wrong.
15
162012-07-18 H.J. Lu <hongjiu.lu@intel.com>
17
18 PR libffi/53982
19 PR libffi/53973
20 * src/x86/ffitarget.h: Check __ILP32__ instead of __LP64__ for x32.
21 (FFI_SIZEOF_JAVA_RAW): Defined to 4 for x32.
22
232012-05-16 H.J. Lu <hongjiu.lu@intel.com>
24
25 * configure: Regenerated.
26
Nicolas Lelongd330f192012-05-05 09:37:02 -0400272012-05-05 Nicolas Lelong
28
29 * libffi.xcodeproj/project.pbxproj: Fixes.
30 * README: Update for iOS builds.
31
Anthony Green213ed152012-04-27 01:34:15 -0400322012-04-23 Alexandre Keunecke I. de Mendonca <alexandre.keunecke@gmail.com>
33
34 * configure.ac: Add Blackfin/sysv support
35 * Makefile.am: Add Blackfin/sysv support
36 * src/bfin/ffi.c: Add Blackfin/sysv support
37 * src/bfin/ffitarget.h: Add Blackfin/sysv support
Anthony Green213ed152012-04-27 01:34:15 -040038
Anthony Green7e0a4122012-04-11 22:47:44 -0400392012-04-11 Anthony Green <green@moxielogic.com>
40
41 * Makefile.am (EXTRA_DIST): Add new script.
42 * Makefile.in: Rebuilt.
43
Zachary Waldowski39e6a582012-04-11 22:39:46 -0400442012-04-11 Zachary Waldowski <zwaldowski@gmail.com>
45
46 * generate-ios-source-and-headers.py,
47 libffi.xcodeproj/project.pbxproj: Support a Mac static library via
48 Xcode. Set iOS compatibility to 4.0. Move iOS trampoline
49 generation into an Xcode "run script" phase. Include both as
50 Xcode build scripts. Don't always regenerate config files.
51
Anthony Green853cc722012-04-10 06:33:33 -0400522012-04-10 Anthony Green <green@moxielogic.com>
53
54 * src/powerpc/ffi_darwin.c (ffi_prep_args): Add missing semicolon.
55
Anthony Green3f502302012-04-06 20:34:51 -0400562012-04-06 Anthony Green <green@moxielogic.com>
57
58 * Makefile.am (EXTRA_DIST): Add new iOS/xcode files.
59 * Makefile.in: Rebuilt.
60
Mike Lewisebb8e892012-04-06 20:02:08 -0400612012-04-06 Mike Lewis <mikelikespie@gmail.com>
62
63 * generate-ios-source-and-headers.py: New file.
64 * libffi.xcodeproj/project.pbxproj: New file.
65 * README: Update instructions on building iOS binary.
66 * build-ios.sh: Delete.
67
Anthony Greena044a562012-04-06 10:39:10 -0400682012-04-06 Anthony Green <green@moxielogic.com>
69
70 * src/x86/ffi64.c (UINT128): Define differently for Intel and GNU
71 compilers, then use it.
72
Anthony Green048d2f42012-10-11 10:55:25 -0400732012-04-06 H.J. Lu <hongjiu.lu@intel.com>
74
75 * m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32.
76
Anthony Green59bb61a2012-04-06 08:26:14 -0400772012-04-06 Anthony Green <green@moxielogic.com>
78
79 * testsuite/Makefile.am (EXTRA_DIST): Add missing test cases.
80 * testsuite/Makefile.in: Rebuilt.
81
Zachary Waldowski39dccdd2012-04-05 12:32:41 -0400822012-04-05 Zachary Waldowski <zwaldowski@gmail.com>
83
84 * include/ffi.h.in: Add missing trampoline table fields.
85 * src/arm/sysv.S: Fix ENTRY definition, and wrap symbol references
86 in CNAME.
87 * src/x86/ffi.c: Wrap Windows specific code in ifdefs.
88
Peter Rosin0a1ab122012-03-30 08:14:08 -0400892012-03-29 Peter Rosin <peda@lysator.liu.se>
90
91 * src/x86/win32.S (ffi_closure_raw_THISCALL): Unify the frame
92 generation, fix the ENDP label and remove the surplus third arg
93 from the 'lea' insn.
94
952012-03-29 Peter Rosin <peda@lysator.liu.se>
96
97 * src/x86/win32.S (ffi_closure_raw_SYSV): Make the 'stubraw' label
98 visible outside the PROC, so that ffi_closure_raw_THISCALL can see
99 it. Also instruct the assembler to add a frame to the function.
100
1012012-03-23 Peter Rosin <peda@lysator.liu.se>
102
103 * Makefile.am (AM_CPPFLAGS): Add -DFFI_BUILDING.
104 * Makefile.in: Rebuilt.
105 * include/ffi.h.in [MSVC]: Add __declspec(dllimport) decorations
106 to all data exports, when compiling libffi clients using MSVC.
107
1082012-03-29 Peter Rosin <peda@lysator.liu.se>
109
110 * src/x86/ffitarget.h (ffi_abi): Add new ABI FFI_MS_CDECL and
111 make it the default for MSVC.
112 (FFI_TYPE_MS_STRUCT): New structure return convention.
113 * src/x86/ffi.c (ffi_prep_cif_machdep): Tweak the structure
114 return convention for FFI_MS_CDECL to be FFI_TYPE_MS_STRUCT
115 instead of an ordinary FFI_TYPE_STRUCT.
116 (ffi_prep_args): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
117 (ffi_call): Likewise.
118 (ffi_prep_incoming_args_SYSV): Likewise.
119 (ffi_raw_call): Likewise.
120 (ffi_prep_closure_loc): Treat FFI_MS_CDECL as FFI_SYSV.
121 * src/x86/win32.S (ffi_closure_SYSV): For FFI_TYPE_MS_STRUCT,
122 return a pointer to the result structure in eax and don't pop
123 that pointer from the stack, the caller takes care of it.
124 (ffi_call_win32): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
125 (ffi_closure_raw_SYSV): Likewise.
126
1272012-03-22 Peter Rosin <peda@lysator.liu.se>
128
129 * testsuite/libffi.call/closure_stdcall.c [MSVC]: Add inline
130 assembly version with Intel syntax.
131 * testsuite/libffi.call/closure_thiscall.c [MSVC]: Likewise.
132
1332012-03-23 Peter Rosin <peda@lysator.liu.se>
134
135 * testsuite/libffi.call/ffitest.h: Provide abstration of
136 __attribute__((fastcall)) in the form of a __FASTCALL__
137 define. Define it to __fastcall for MSVC.
138 * testsuite/libffi.call/fastthis1_win32.c: Use the above.
139 * testsuite/libffi.call/fastthis2_win32.c: Likewise.
140 * testsuite/libffi.call/fastthis3_win32.c: Likewise.
141 * testsuite/libffi.call/strlen2_win32.c: Likewise.
142 * testsuite/libffi.call/struct1_win32.c: Likewise.
143 * testsuite/libffi.call/struct2_win32.c: Likewise.
144
1452012-03-22 Peter Rosin <peda@lysator.liu.se>
146
147 * src/x86/win32.S [MSVC] (ffi_closure_THISCALL): Remove the manual
148 frame on function entry, MASM adds one automatically.
149
1502012-03-22 Peter Rosin <peda@lysator.liu.se>
151
152 * testsuite/libffi.call/ffitest.h [MSVC]: Add kludge for missing
153 bits in the MSVC headers.
154
1552012-03-22 Peter Rosin <peda@lysator.liu.se>
156
157 * testsuite/libffi.call/cls_12byte.c: Adjust to the C89 style
158 with no declarations after statements.
159 * testsuite/libffi.call/cls_16byte.c: Likewise.
160 * testsuite/libffi.call/cls_18byte.c: Likewise.
161 * testsuite/libffi.call/cls_19byte.c: Likewise.
162 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
163 * testsuite/libffi.call/cls_20byte.c: Likewise.
164 * testsuite/libffi.call/cls_20byte1.c: Likewise.
165 * testsuite/libffi.call/cls_24byte.c: Likewise.
166 * testsuite/libffi.call/cls_2byte.c: Likewise.
167 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
168 * testsuite/libffi.call/cls_3byte1.c: Likewise.
169 * testsuite/libffi.call/cls_3byte2.c: Likewise.
170 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
171 * testsuite/libffi.call/cls_4byte.c: Likewise.
172 * testsuite/libffi.call/cls_5_1_byte.c: Likewise.
173 * testsuite/libffi.call/cls_5byte.c: Likewise.
174 * testsuite/libffi.call/cls_64byte.c: Likewise.
175 * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
176 * testsuite/libffi.call/cls_6byte.c: Likewise.
177 * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
178 * testsuite/libffi.call/cls_7byte.c: Likewise.
179 * testsuite/libffi.call/cls_8byte.c: Likewise.
180 * testsuite/libffi.call/cls_9byte1.c: Likewise.
181 * testsuite/libffi.call/cls_9byte2.c: Likewise.
182 * testsuite/libffi.call/cls_align_double.c: Likewise.
183 * testsuite/libffi.call/cls_align_float.c: Likewise.
184 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
185 * testsuite/libffi.call/cls_align_longdouble_split.c: Likewise.
186 * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
187 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
188 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
189 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
190 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
191 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
192 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
193 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
194 * testsuite/libffi.call/cls_dbls_struct.c: Likewise.
195 * testsuite/libffi.call/cls_pointer_stack.c: Likewise.
196 * testsuite/libffi.call/err_bad_typedef.c: Likewise.
197 * testsuite/libffi.call/huge_struct.c: Likewise.
198 * testsuite/libffi.call/nested_struct.c: Likewise.
199 * testsuite/libffi.call/nested_struct1.c: Likewise.
200 * testsuite/libffi.call/nested_struct10.c: Likewise.
201 * testsuite/libffi.call/nested_struct2.c: Likewise.
202 * testsuite/libffi.call/nested_struct3.c: Likewise.
203 * testsuite/libffi.call/nested_struct4.c: Likewise.
204 * testsuite/libffi.call/nested_struct5.c: Likewise.
205 * testsuite/libffi.call/nested_struct6.c: Likewise.
206 * testsuite/libffi.call/nested_struct7.c: Likewise.
207 * testsuite/libffi.call/nested_struct8.c: Likewise.
208 * testsuite/libffi.call/nested_struct9.c: Likewise.
209 * testsuite/libffi.call/stret_large.c: Likewise.
210 * testsuite/libffi.call/stret_large2.c: Likewise.
211 * testsuite/libffi.call/stret_medium.c: Likewise.
212 * testsuite/libffi.call/stret_medium2.c: Likewise.
213 * testsuite/libffi.call/struct1.c: Likewise.
214 * testsuite/libffi.call/struct1_win32.c: Likewise.
215 * testsuite/libffi.call/struct2.c: Likewise.
216 * testsuite/libffi.call/struct2_win32.c: Likewise.
217 * testsuite/libffi.call/struct3.c: Likewise.
218 * testsuite/libffi.call/struct4.c: Likewise.
219 * testsuite/libffi.call/struct5.c: Likewise.
220 * testsuite/libffi.call/struct6.c: Likewise.
221 * testsuite/libffi.call/struct7.c: Likewise.
222 * testsuite/libffi.call/struct8.c: Likewise.
223 * testsuite/libffi.call/struct9.c: Likewise.
224 * testsuite/libffi.call/testclosure.c: Likewise.
225
Anthony Greene72ed5e2012-03-21 09:52:28 -04002262012-03-21 Peter Rosin <peda@lysator.liu.se>
227
228 * testsuite/libffi.call/float_va.c (float_va_fn): Use %f when
229 printing doubles (%lf is for long doubles).
230 (main): Likewise.
231
Anthony Greenbd78c9c2012-03-21 08:09:30 -04002322012-03-21 Peter Rosin <peda@lysator.liu.se>
233
234 * testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
235 (set_ld_library_path_env_vars): Add the library search dir to PATH
236 (and save PATH for later).
237 (restore_ld_library_path_env_vars): Restore PATH.
238
2392012-03-20 Peter Rosin <peda@lysator.liu.se>
240
241 * testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
242 * src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
243 visible outside the PROC, so that ffi_closure_THISCALL can see it.
244
Anthony Green048d2f42012-10-11 10:55:25 -04002452012-03-20 Peter Rosin <peda@lysator.liu.se>
246
247 * testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
248 * src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
249 visible outside the PROC, so that ffi_closure_THISCALL can see it.
250
Anthony Greenbd78c9c2012-03-21 08:09:30 -04002512012-03-19 Alan Hourihane <alanh@fairlite.co.uk>
252
253 * src/m68k/ffi.c: Add MINT support.
254 * src/m68k/sysv.S: Ditto.
255
2562012-03-19 chennam <csit@axway.com>
257
258 * src/powerpc/ffi_darwin.c (ffi_prep_closure_loc): Fix AIX closure
259 support.
260
Anthony Green048d2f42012-10-11 10:55:25 -04002612012-03-06 Chung-Lin Tang <cltang@codesourcery.com>
262
263 * src/arm/ffi.c (ffi_call): Add __ARM_EABI__ guard around call to
264 ffi_call_VFP().
265 (ffi_prep_closure_loc): Add __ARM_EABI__ guard around use of
266 ffi_closure_VFP.
267 * src/arm/sysv.S: Add __ARM_EABI__ guard around VFP code.
268
Anthony Green65f40c32012-04-03 07:35:59 -04002692012-04-02 Peter Bergner <bergner@vnet.ibm.com>
270
271 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Declare double_tmp.
272 Silence casting pointer to integer of different size warning.
273 Delete goto to previously deleted label.
274 (ffi_call): Silence possibly undefined warning.
275 (ffi_closure_helper_SYSV): Declare variable type.
276
Anthony Green048d2f42012-10-11 10:55:25 -04002772012-04-02 Peter Rosin <peda@lysator.liu.se>
278
279 * src/x86/win32.S (ffi_call_win32): Sign/zero extend the return
280 value in the Intel version as is already done for the AT&T version.
281 (ffi_closure_SYSV): Likewise.
282 (ffi_closure_raw_SYSV): Likewise.
283 (ffi_closure_STDCALL): Likewise.
284
Anthony Green84d32532012-03-19 23:07:35 -04002852012-03-13 Kaz Kojima <kkojima@gcc.gnu.org>
286
287 * src/sh/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
288 just return FFI_BAD_ABI when things are wrong.
289 * src/sh64/ffi.c (ffi_prep_closure_loc): Ditto.
290
2912012-03-09 David Edelsohn <dje.gcc@gmail.com>
292
293 * src/powerpc/aix_closure.S (ffi_closure_ASM): Adjust for Darwin64
294 change to return value of ffi_closure_helper_DARWIN and load type
295 from return type.
296
Anthony Green964c5b92012-03-03 14:46:20 -05002972012-03-03 H.J. Lu <hongjiu.lu@intel.com>
298
299 * src/x86/ffi64.c (ffi_call): Cast the return value to unsigned
300 long.
301 (ffi_prep_closure_loc): Cast to 64bit address in trampoline.
302 (ffi_closure_unix64_inner): Cast return pointer to unsigned long
303 first.
304
305 * src/x86/ffitarget.h (FFI_SIZEOF_ARG): Defined to 8 for x32.
306 (ffi_arg): Set to unsigned long long for x32.
307 (ffi_sarg): Set to long long for x32.
308
3092012-03-03 H.J. Lu <hongjiu.lu@intel.com>
310
311 * src/prep_cif.c (ffi_prep_cif_core): Properly check bad ABI.
312
Anthony Green6c194232012-03-03 14:17:54 -05003132012-03-03 Andoni Morales Alastruey <ylatuya@gmail.com>
314
315 * configure.ac: Add -no-undefined for both 32- and 64-bit x86
316 windows-like hosts.
317 * configure: Rebuilt.
318
Anthony Green7c5e60b2012-03-29 08:48:22 -04003192012-02-27 Mikael Pettersson <mikpe@it.uu.se>
320
321 PR libffi/52223
322 * Makefile.am (FLAGS_TO_PASS): Define.
323 * Makefile.in: Regenerate.
324
Anthony Green8360bf12012-02-23 07:01:13 -05003252012-02-23 Anthony Green <green@moxielogic.com>
326
327 * src/*/ffitarget.h: Ensure that users never include ffitarget.h
328 directly.
329
Anthony Green7c5e60b2012-03-29 08:48:22 -04003302012-02-23 Kai Tietz <ktietz@redhat.com>
331
332 PR libffi/52221
333 * src/x86/ffi.c (ffi_closure_raw_THISCALL): New
334 prototype.
335 (ffi_prep_raw_closure_loc): Use ffi_closure_raw_THISCALL for
336 thiscall-convention.
337 (ffi_raw_call): Use ffi_prep_args_raw.
338 * src/x86/win32.S (ffi_closure_raw_THISCALL): Add
339 implementation for stub.
340
Anthony Greendee20f82012-02-10 13:06:46 -05003412012-02-10 Kai Tietz <ktietz@redhat.com>
342
343 * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
344 windows target.
345 * configure: Regenerated.
Anthony Green8360bf12012-02-23 07:01:13 -0500346
Anthony Greendee20f82012-02-10 13:06:46 -05003472012-02-08 Kai Tietz <ktietz@redhat.com>
348
349 * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
350 also FFI_THISCALL.
351 * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
352 (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
353 (ffi_prep_closure_loc): Add FFI_THISCALL support.
354 * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
355 * src/x86/win32.S (ffi_closure_THISCALL): New closure code
356 for thiscall-calling convention.
357 * testsuite/libffi.call/closure_thiscall.c: New test.
358
Anthony Green1ff9c602012-02-01 16:34:30 -06003592012-01-28 Kai Tietz <ktietz@redhat.com>
360
361 * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
362 argument to prototype for specify calling-convention.
363 (ffi_call): Add support for stdcall/thiscall convention.
364 (ffi_prep_args): Likewise.
365 (ffi_raw_call): Likewise.
366 * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
367 FFI_FASTCALL.
368 * src/x86/win32.S (_ffi_call_win32): Add support for
369 fastcall/thiscall calling-convention calls.
370 * testsuite/libffi.call/fastthis1_win32.c: New test.
371 * testsuite/libffi.call/fastthis2_win32.c: New test.
372 * testsuite/libffi.call/fastthis3_win32.c: New test.
373 * testsuite/libffi.call/strlen2_win32.c: New test.
374 * testsuite/libffi.call/many2_win32.c: New test.
375 * testsuite/libffi.call/struct1_win32.c: New test.
376 * testsuite/libffi.call/struct2_win32.c: New test.
377
Anthony Green211060e2012-01-23 14:24:01 -05003782012-01-23 Uros Bizjak <ubizjak@gmail.com>
379
380 * src/alpha/ffi.c (ffi_prep_closure_loc): Check for bad ABI.
381
Anthony Green1ff9c602012-02-01 16:34:30 -06003822012-01-23 Anthony Green <green@moxielogic.com>
383 Chris Young <cdyoung@ntlworld.com>
Anthony Green9e9c4ae2012-01-23 14:11:23 -0500384
385 * configure.ac: Add Amiga support.
386 * configure: Rebuilt.
387
3882012-01-23 Dmitry Nadezhin <dmitry.nadezhin@gmail.com>
Anthony Green8efc0b12012-01-23 13:47:38 -0500389
390 * include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions.
391
Anthony Green1ff9c602012-02-01 16:34:30 -06003922012-01-23 Andreas Schwab <schwab@linux-m68k.org>
Anthony Greencd2277c2012-01-23 13:43:38 -0500393
394 * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
395 mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
396
Anthony Greenc365ee72012-01-23 11:13:18 -05003972012-01-19 Jakub Jelinek <jakub@redhat.com>
398
399 PR rtl-optimization/48496
400 * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
401
4022012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
403
404 * configure.ac (i?86-*-*): Set TARGET to X86_64.
405 * configure: Regenerate.
406
4072011-12-07 Andrew Pinski <apinski@cavium.com>
408
409 PR libffi/50051
410 * src/mips/n32.S: Add ".set mips4".
411
4122011-11-21 Andreas Tobler <andreast@fgznet.ch>
413
414 * configure: Regenerate.
415
Anthony Greenff9454d2011-11-12 17:18:51 -05004162011-11-12 David Gilbert <david.gilbert@linaro.org>
417
418 * doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
419 man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3,
420 man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h,
421 src/cris/ffi.c, src/prep_cif.c,
422 testsuite/libffi.call/cls_double_va.c,
423 testsuite/libffi.call/cls_longdouble_va.c,
424 testsuite/libffi.call/float_va.c: Many changes to support variadic
425 function calls.
426
Anthony Green52891f82011-11-12 16:35:55 -05004272011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
428
429 * src/powerpc/ffi.c, src/powerpc/ffitarget.h,
430 src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
431 softfloat powerpc variants.
432
Anthony Green6a6e7f82011-11-12 16:20:42 -05004332011-11-12 Petr Salinger <Petr.Salinger@seznam.cz>
434
435 * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
436 * configure: Rebuilt.
437
Anthony Greend52fbed2011-11-12 16:13:41 -05004382011-11-12 Timothy Wall <twall@users.sf.net>
439
440 * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
441 alignment of 4 for wince on ARM.
442
Anthony Greenaf18df22011-11-12 15:52:08 -05004432011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
444 Anthony Green <green@moxielogic.com>
445
446 * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
447 instructions (not available on some cores, like the PPC440).
448
Anthony Greenc411f142011-11-12 07:32:36 -05004492011-11-12 Kimura Wataru <kimuraw@i.nifty.jp>
Anthony Green8c019542011-09-06 14:26:32 -0400450
Anthony Greenc411f142011-11-12 07:32:36 -0500451 * m4/ax_enable_builddir: Change from string comparison to numeric
Anthony Green52891f82011-11-12 16:35:55 -0500452 comparison for wc output.
Anthony Green236c9392011-11-12 07:37:40 -0500453 * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
454 X 10.7.
455 * configure: Rebuilt.
Anthony Greenee6696f2011-08-23 12:30:29 -0400456
Anthony Green6a6e7f82011-11-12 16:20:42 -05004572011-11-12 Anthony Green <green@moxielogic.com>
458
459 * Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
460 files with debug info.
461 * Makefile.in: Rebuilt.
462
4632011-11-12 Jasper Lievisse Adriaanse <jasper@openbsd.org>
464
465 * README: Update list of supported OpenBSD systems.
466
4672011-11-12 Anthony Green <green@moxielogic.com>
468
469 * libtool-version: Update.
470 * Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
471 FFI_DEBUG.
472 (libffi_la_SOURCES): Remove src/debug.c
473 (EXTRA_DIST): Add src/debug.c
474 * Makefile.in: Rebuilt.
475 * README: Update for 3.0.11.
476
Anthony Green3d561062011-11-12 07:20:24 -05004772011-11-10 Richard Henderson <rth@redhat.com>
Anthony Green049d8382011-08-22 14:50:10 -0400478
Anthony Green3d561062011-11-12 07:20:24 -0500479 * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
480 * configure, aclocal.m4: Rebuild.
481
4822011-09-04 Iain Sandoe <iains@gcc.gnu.org>
483
484 PR libffi/49594
485 * src/powerpc/darwin_closure.S (stubs): Make the stub binding
486 helper reference track the architecture pointer size.
487
4882011-08-25 Andrew Haley <aph@redhat.com>
489
490 * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
491 instructions.
492 * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
Anthony Green049d8382011-08-22 14:50:10 -0400493
Anthony Greend992ac52011-07-29 17:32:53 -04004942011-07-11 Andrew Haley <aph@redhat.com>
495
496 * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
497
4982011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
499
500 * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
501 * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
502
5032011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
504
505 PR libffi/46660
506 * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
507 mips-sgi-irix6*.
508 * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
509
5102011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
511
512 * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
513 PRId8 instead of %hhu, %hhd.
514 * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
515 PRIu8): Define.
516 [__sgi__] (PRId8, PRIu8): Define.
517
5182011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
519
520 * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
521 Define.
522 Use them to handle ELF vs. ECOFF differences.
523 [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
524
Anthony Green2d3fb362011-03-30 16:54:42 -04005252011-03-30 Timothy Wall <twall@users.sf.net>
526
527 * src/powerpc/darwin.S: Fix unknown FDE encoding.
528 * src/powerpc/darwin_closure.S: ditto.
529
Anthony Green25416792011-02-25 15:09:13 -05005302011-02-25 Anthony Green <green@moxielogic.com>
531
Anthony Green74ee6ea2011-02-25 15:52:14 -0500532 * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
533 32-bit ABIs.
Anthony Green25416792011-02-25 15:09:13 -0500534
Anthony Green8cf88782011-02-15 15:19:49 -05005352011-02-15 Anthony Green <green@moxielogic.com>
536
537 * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
538 * configure: Rebuilt.
539
Anthony Greend992ac52011-07-29 17:32:53 -04005402011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
541
542 * configure: Regenerate.
543
Anthony Green1fbf9dc2011-02-13 08:06:39 -05005442011-02-13 Anthony Green <green@moxielogic.com>
545
546 * include/ffi_common.h (UNLIKELY, LIKELY): Define.
547 * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
548 * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
549
550 * src/prep_cif.c (initialize_aggregate): Convert assertion into
551 FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
552
553 * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
554 just return FFI_BAD_ABI when things are wrong.
555 * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
556 * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
557 * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
558 * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
559 * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
560
Anthony Green1833aa02011-02-11 07:11:04 -05005612011-02-11 Anthony Green <green@moxielogic.com>
562
563 * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
564 just return FFI_BAD_ABI when things are wrong.
565
Anthony Green7c5e60b2012-03-29 08:48:22 -04005662012-02-11 Eric Botcazou <ebotcazou@adacore.com>
567
568 * src/sparc/v9.S (STACKFRAME): Bump to 176.
569
Anthony Green42695e72011-02-09 15:12:35 -05005702011-02-09 Stuart Shelton <srcshelton@gmail.com>
571
572 http://bugs.gentoo.org/show_bug.cgi?id=286911
573 * src/mips/ffitarget.h: Clean up error messages.
574 * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
575 ffi_raw*.
576 * include/ffi.h.in: Add pragma for SGI compiler.
577
Anthony Greena6e56b92011-02-09 15:00:42 -05005782011-02-09 Anthony Green <green@moxielogic.com>
579
580 * configure.ac: Add powerpc64-*-darwin* support.
581
Anthony Green0cad4382011-02-09 06:11:46 -05005822011-02-09 Anthony Green <green@moxielogic.com>
Anthony Green11062292011-02-08 19:20:09 -0500583
Anthony Green747d6c32011-02-09 14:56:23 -0500584 * README: Mention Interix.
585
5862011-02-09 Jonathan Callen <abcd@gentoo.org>
587
588 * configure.ac: Add Interix to win32/cygwin/mingw case.
589 * configure: Ditto.
590 * src/closures.c: Treat Interix like Cygwin, instead of as a
591 generic win32.
592
5932011-02-09 Anthony Green <green@moxielogic.com>
594
Anthony Green69dbe842011-02-09 07:38:43 -0500595 * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
596 * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
597 * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
598 (ffi_prep_closure_loc): Check for bad ABI.
599 * src/prep_cif.c (UNLIKELY, LIKELY): Define.
600 (initialize_aggregate): Check for bad types.
Anthony Green0cad4382011-02-09 06:11:46 -0500601
Anthony Green90af15e2011-02-12 12:29:36 -05006022011-02-09 Landon Fuller <landonf@plausible.coop>
Anthony Green0cad4382011-02-09 06:11:46 -0500603
604 * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
605 src/arm/trampoline.S.
606 (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
607 * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
608 * src/arm/ffi.c (ffi_trampoline_table)
609 (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
610 (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
611 (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
612 (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
613 Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
614 (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
615 separately.
616 * src/arm/sysv.S: Handle Apple iOS host.
617 * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
Anthony Greenf4983182011-02-09 06:26:46 -0500618 * build-ios.sh: New file.
Anthony Green0cad4382011-02-09 06:11:46 -0500619 * fficonfig.h.in, configure, Makefile.in: Rebuilt.
Anthony Green69dbe842011-02-09 07:38:43 -0500620 * README: Mention ARM iOS.
Anthony Green11062292011-02-08 19:20:09 -0500621
Anthony Greendc411e82011-02-08 10:49:29 -05006222011-02-08 Oren Held <orenhe@il.ibm.com>
623
624 * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
625 redefinition of mallinfo on HP-UX.
626
Anthony Green404585d2011-02-08 10:44:36 -05006272011-02-08 Ginn Chen <ginn.chen@oracle.com>
628
629 * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
Anthony Green049d8382011-08-22 14:50:10 -0400630 aggregate return ABI. Flush cache.
631 (ffi_prep_closure_loc): Flush cache.
Anthony Green404585d2011-02-08 10:44:36 -0500632
Anthony Green6972a4f2011-02-11 07:32:51 -05006332011-02-11 Anthony Green <green@moxielogic.com>
634
635 From Tom Honermann <tom.honermann@oracle.com>:
636 * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
637 AIX. Declare .ffi_prep_args. Insert nops after branch
638 instructions so that the AIX linker can insert TOC reload
639 instructions.
640 * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
641
Anthony Greend992ac52011-07-29 17:32:53 -04006422011-02-08 Ed <ed@kdtc.net>
643
644 * src/powerpc/asm.h: Fix grammar nit in comment.
645
Anthony Green89284fe2011-02-08 10:19:19 -05006462011-02-08 Uli Link <ul.mcamafia@linkitup.de>
647
648 * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
649
Anthony Greend992ac52011-07-29 17:32:53 -04006502011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
651
652 PR libffi/46661
653 * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
654 uintptr_t first.
655 * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
656
Anthony Greened2c5182011-02-08 10:10:07 -05006572011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
658
659 * configure.ac: Fix x86 test for pc related relocs.
Anthony Green09f8f312011-02-28 15:36:07 -0500660 * configure: Rebuilt.
Anthony Greened2c5182011-02-08 10:10:07 -0500661
Anthony Green3b836242011-02-08 14:28:59 -05006622011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
663
664 * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
665 Handle case when CPU variant does not have long double support.
666 * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
667 and cores with soft floating point.
668
6692011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
670
671 * configure.ac: Add mips*-*-rtems* support.
672 * configure: Regenerate.
673 * src/mips/ffitarget.h: Ensure needed constants are available
674 for targets which do not have sgidefs.h.
675
Anthony Green0e584392011-02-08 07:52:40 -05006762011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
677
678 PR target/40125
679 * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
680 * configure: Regenerate.
681
6822010-12-18 Iain Sandoe <iains@gcc.gnu.org>
683
684 PR libffi/29152
685 PR libffi/42378
686 * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
687 update comments.
688 * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
689 (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
690 * src/powerpc/darwin.S: Provide Darwin64 implementation,
691 update comments.
692 * src/powerpc/ffi_darwin.c: Likewise.
693
6942010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
695
696 * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
697 backslashes.
698 (libffi_cv_as_string_pseudo_op): Likewise.
699 * configure: Regenerate.
700
7012010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
702
703 * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
704 (ffi_closure_VFP): Same.
705 (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
706 directive.
707
7082010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
709
710 * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
711 (PRIuPTR): Define.
712
7132010-11-29 Richard Henderson <rth@redhat.com>
714 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
715
716 * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
717 (.eh_frame): Use FDE_ENCODING.
718 (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
719
Anthony Green5b9cd522010-11-22 15:19:57 -05007202010-11-22 Jacek Caban <jacek@codeweavers.com>
721
722 * configure.ac: Check for symbol underscores on mingw-w64.
723 * configure: Rebuilt.
724 * src/x86/win64.S: Correctly access extern symbols in respect to
725 underscores.
726
Anthony Green2db72612010-11-21 10:50:56 -05007272010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
728
729 * testsuite/lib/libffi-dg.exp: Rename ...
730 * testsuite/lib/libffi.exp: ... to this.
731 * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
732 * libffi/testsuite/libffi.special/special.exp: Likewise.
733
7342010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
735
736 * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
737 code, new parameter, and return value. Update comments.
738 (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
739 call to layout_vfp_args().
740 (ffi_call_SYSV): Update declaration.
741 (ffi_call_VFP): New declaration.
742 (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
743 when ABI is FFI_VFP.
744 (ffi_closure_VFP): New declaration.
745 (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
746 ffi_prep_incoming_args_SYSV().
747 (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
748 case handling.
749 (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
750 construction under VFP hard-float.
751 (rec_vfp_type_p): New function.
752 (vfp_type_p): Same.
753 (place_vfp_arg): Same.
754 (layout_vfp_args): Same.
755 * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
756 based on __ARM_PCS_VFP.
757 (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
758 fields.
759 (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
760 (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
761 * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
762 direct call. Move function pointer load upwards.
763 (ffi_call_VFP): New function.
764 (ffi_closure_VFP): Same.
765
766 * testsuite/lib/libffi-dg.exp (check-flags): New function.
767 (dg-skip-if): New function.
768 * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
769 and compiler options include -mfloat-abi=hard.
770 * testsuite/libffi.call/cls_longdouble_va.c: Same.
771
7722010-10-01 Jakub Jelinek <jakub@redhat.com>
773
774 PR libffi/45677
775 * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
776 a multiple of 8.
777 * testsuite/libffi.call/many2.c: New test.
778
7792010-08-20 Mark Wielaard <mjw@redhat.com>
780
781 * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
782 returns NULL.
783
7842010-08-09 Andreas Tobler <andreast@fgznet.ch>
785
786 * configure.ac: Add target powerpc64-*-freebsd*.
787 * configure: Regenerate.
788 * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
789 -mlong-double-128 only to linux targets.
790 * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
791 * testsuite/libffi.call/cls_longdouble.c: Likewise.
792 * testsuite/libffi.call/huge_struct.c: Likewise.
793
Anthony Green00d0b592010-08-05 14:56:53 -04007942010-08-05 Dan Witte <dwitte@mozilla.com>
795
796 * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
797 debug CRT when --enable-debug is given.
798 * configure.ac: Define it.
799 * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
800
Anthony Greenc1d28ba2010-08-05 08:48:16 -04008012010-08-04 Dan Witte <dwitte@mozilla.com>
802
803 * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
804 platforms.
805 * src/x86/ffi.c: Remove redundant ifdef checks.
806 * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
807 for X86_ANY so return value space doesn't get added twice.
808
Anthony Greenbda487e2010-08-05 09:02:41 -04008092010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
810
811 * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
812
Anthony Greend14178b2010-07-23 09:14:00 -04008132010-07-22 Dan Witte <dwitte@mozilla.com>
814
815 * src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
816 * src/prep_cif.c: Fix ABI assertion.
817 * src/cris/ffi.c: Ditto.
818
Anthony Greeneaf444e2010-07-10 08:59:09 -04008192010-07-10 Evan Phoenix <evan@fallingsnow.net>
820
821 * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
822
Anthony Green5feacad2010-08-05 08:30:04 -04008232010-07-07 Dan Horák <dan@danny.cz>
824
825 * include/ffi.h.in: Protect #define with #ifndef.
826 * src/powerpc/ffitarget.h: Ditto.
827 * src/s390/ffitarget.h: Ditto.
828 * src/sparc/ffitarget.h: Ditto.
829
Anthony Green2db72612010-11-21 10:50:56 -05008302010-07-07 Neil Roberts <neil@linux.intel.com>
831
832 * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
833 16-bytes.
834
8352010-07-02 Jakub Jelinek <jakub@redhat.com>
836
837 * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
838 * Makefile.in: Regenerated.
839
8402010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
841
842 * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
843 output, too.
844 (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
845 (libffi_cv_as_string_pseudo_op): Check for .string.
846 * configure: Regenerate.
847 * fficonfig.h.in: Regenerate.
848 * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
849
Anthony Green10ea8482010-08-05 08:24:27 -04008502010-05-11 Dan Witte <dwitte@mozilla.com>
851
852 * doc/libffi.tex: Document previous change.
853
8542010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
855
856 * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
857
Anthony Green63097412010-05-05 20:14:56 -04008582010-05-05 Michael Kohler <michaelkohler@live.com>
859
860 * src/dlmalloc.c (dlfree): Fix spelling.
861 * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
862 * configure.ac: Ditto.
863 * configure: Rebuilt.
864
Anthony Greenf2c2a4f2010-04-13 10:19:28 -04008652010-04-13 Dan Witte <dwitte@mozilla.com>
866
867 * msvcc.sh: Build with -W3 instead of -Wall.
868 * src/powerpc/ffi_darwin.c: Remove build warnings.
869 * src/x86/ffi.c: Ditto.
870 * src/x86/ffitarget.h: Ditto.
871
Anthony Green2db72612010-11-21 10:50:56 -05008722010-04-12 Dan Witte <dwitte@mozilla.com>
873 Walter Meinl <wuno@lsvw.de>
Anthony Greenc0b69e52010-03-30 08:30:22 -0400874
Anthony Green2db72612010-11-21 10:50:56 -0500875 * configure.ac: Add OS/2 support.
876 * configure: Rebuilt.
877 * src/closures.c: Ditto.
878 * src/dlmalloc.c: Ditto.
879 * src/x86/win32.S: Ditto.
Anthony Green3f5b1372010-07-12 14:39:18 -0400880
8812010-04-07 Jakub Jelinek <jakub@redhat.com>
882
Anthony Green2db72612010-11-21 10:50:56 -0500883 * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
Anthony Green3f5b1372010-07-12 14:39:18 -0400884
8852010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
886
887 * Makefile.in: Regenerate.
888 * aclocal.m4: Regenerate.
889 * include/Makefile.in: Regenerate.
890 * man/Makefile.in: Regenerate.
891 * testsuite/Makefile.in: Regenerate.
892
Anthony Green2db72612010-11-21 10:50:56 -05008932010-03-30 Dan Witte <dwitte@mozilla.com>
894
895 * msvcc.sh: Disable build warnings.
896 * README (tested): Clarify windows build procedure.
897
Anthony Green3f5b1372010-07-12 14:39:18 -04008982010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
899
900 * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
901 * configure: Regenerate.
902 * fficonfig.h.in: Regenerate.
903 * libffi/src/x86/unix64.S (.eh_frame)
904 [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
905
Anthony Green2db72612010-11-21 10:50:56 -05009062010-03-14 Matthias Klose <doko@ubuntu.com>
907
908 * src/x86/ffi64.c: Fix typo in comment.
909 * src/x86/ffi.c: Use /* ... */ comment style.
910
Anthony Green9dc9a292010-04-13 10:33:52 -04009112010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
912
913 * doc/libffi.texi (The Closure API): Fix typo.
914 * doc/libffi.info: Remove.
915
9162010-02-15 Matthias Klose <doko@ubuntu.com>
917
918 * src/arm/sysv.S (__ARM_ARCH__): Define for processor
919 __ARM_ARCH_7EM__.
920
Anthony Green2db72612010-11-21 10:50:56 -05009212010-01-15 Anthony Green <green@redhat.com>
922
923 * README: Add notes on building with Microsoft Visual C++.
924
9252010-01-15 Daniel Witte <dwitte@mozilla.com>
926
927 * msvcc.sh: New file.
928
929 * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
930 * src/x86/ffi.c: Tweak function declaration and remove excess
931 parens.
932 * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
933 ffi_closure.
934
935 * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
936 function ffi_call_win32 on X86_WIN32.
937 * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
938 (ffi_call_STDCALL): Remove.
939
940 * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
941 to ffi_prep_cif_machdep for x86.
942 * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
943
9442010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
945
946 * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
Anthony Green0e584392011-02-08 07:52:40 -0500947 Sun Studio compiler compatibility.
Anthony Green2db72612010-11-21 10:50:56 -0500948
9492010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
950
951 * doc/libffi.texi: Add closure example.
952
Anthony Green7b7a42f2010-01-12 09:14:14 -05009532010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
954
955 PR libffi/40701
956 * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
957 PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
958 * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
959 alpha*-dec-osf*.
960 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
961 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
962 * testsuite/libffi.call/return_ll1.c: Likewise.
963 * testsuite/libffi.call/stret_medium2.c: Likewise.
964 * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
965 MAP_FAILED to char *.
966
9672010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
968
969 * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
970
Anthony Greenc3042af2010-01-01 08:08:02 -05009712009-12-31 Anthony Green <green@redhat.com>
972
973 * README: Update for libffi 3.0.9.
974
9752009-12-27 Matthias Klose <doko@ubuntu.com>
976
977 * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
978 appropriate.
979 * configure: Rebuilt.
980
9812009-12-26 Anthony Green <green@redhat.com>
982
983 * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
984 avr32*-*-*.
985 * testsuite/libffi.call/cls_double_va.c: Ditto.
986
9872009-12-26 Andreas Tobler <a.tobler@schweiz.org>
988
989 * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
990 and inttypes.h.
991 * testsuite/libffi.special/unwindtest.cc: Ditto.
992
9932009-12-26 Andreas Tobler <a.tobler@schweiz.org>
994
995 * configure.ac: Add amd64-*-openbsd*.
996 * configure: Rebuilt.
997 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
998 openbsd programs with -lpthread.
999
10002009-12-26 Anthony Green <green@redhat.com>
1001
1002 * testsuite/libffi.call/cls_double_va.c,
1003 testsuite/libffi.call/cls_longdouble.c,
1004 testsuite/libffi.call/cls_longdouble_va.c,
1005 testsuite/libffi.call/cls_pointer.c,
1006 testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
1007 mips*-*-* and arm*-*-*.
1008 * testsuite/libffi.call/cls_align_longdouble_split.c,
1009 testsuite/libffi.call/cls_align_longdouble_split2.c,
1010 testsuite/libffi.call/stret_medium2.c,
1011 testsuite/libffi.call/stret_medium.c,
1012 testsuite/libffi.call/stret_large.c,
1013 testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
1014
10152009-12-31 Kay Tietz <ktietz70@googlemail.com>
1016
1017 * testsuite/libffi.call/ffitest.h,
1018 testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
1019 definitions.
1020
10212009-12-31 Carlo Bramini <carlo.bramix@libero.it>
1022
1023 * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
1024 * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
1025 * configure: Rebuilt.
1026 * Makefile.in: Rebuilt.
1027
10282009-12-31 Anthony Green <green@redhat.com>
1029 Blake Chaffin.
1030
1031 * testsuite/libffi.call/huge_struct.c: New test case from Blake
1032 Chaffin @ Apple.
1033
Anthony Green0cfe60e2009-12-29 10:06:04 -050010342009-12-28 David Edelsohn <edelsohn@gnu.org>
1035
1036 * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
1037 local variables.
1038 (aix_adjust_aggregate_sizes): New function.
1039 (ffi_prep_cif_machdep): Call it.
1040
10412009-12-26 Andreas Tobler <a.tobler@schweiz.org>
1042
1043 * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
1044 * configure: Regenerate.
1045 * fficonfig.h.in: Likewise.
1046 * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
1047 Solaris/x86.
1048
10492009-12-26 Andreas Schwab <schwab@linux-m68k.org>
1050
1051 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
1052 when a float arguments is passed in memory.
1053 (ffi_closure_helper_SYSV): Mark general registers as used up when
1054 a 64bit or soft-float long double argument is passed in memory.
1055
Anthony Green9458d882009-12-26 07:02:27 -050010562009-12-25 Matthias Klose <doko@ubuntu.com>
1057
1058 * man/ffi_call.3: Fix #include in examples.
1059 * doc/libffi.texi: Add dircategory.
1060
10612009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
1062
1063 * include/ffi.h.in: Placed '__GNUC__' ifdef around
1064 '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
1065 IRIX MIPSPro c99.
1066 * include/ffi_common.h: Added '__sgi' define to non
1067 '__attribute__((__mode__()))' integer typedefs.
Anthony Green0cfe60e2009-12-29 10:06:04 -05001068 * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
Anthony Green9458d882009-12-26 07:02:27 -05001069 ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
1070 (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
1071 FFI_LONGDOUBLE support and alignment(N32 only).
1072 * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
1073 fixed non '__attribute__((__mode__()))' integer typedefs.
1074 * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
1075 since they are Linux/GNU Assembler specific.
1076
10772009-12-25 Bradley Smith <brad@brad-smith.co.uk>
1078
1079 * configure.ac, Makefile.am, src/avr32/ffi.c,
1080 src/avr32/ffitarget.h,
1081 src/avr32/sysv.S: Add AVR32 port.
1082 * configure, Makefile.in: Rebuilt.
1083
Anthony Green115ab362009-12-24 00:22:00 -050010842009-12-21 Andreas Tobler <a.tobler@schweiz.org>
1085
1086 * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
1087 * configure: Regenerate.
1088
10892009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1090
1091 * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
1092
10932009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1094
1095 * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
1096 type on HP-UX.
1097
Anthony Green7c5e60b2012-03-29 08:48:22 -040010982012-02-13 Kai Tietz <ktietz@redhat.com>
1099
1100 PR libffi/52221
1101 * src/x86/ffi.c (ffi_prep_raw_closure_loc): Add thiscall
1102 support for X86_WIN32.
1103 (FFI_INIT_TRAMPOLINE_THISCALL): Fix displacement.
1104
Anthony Green115ab362009-12-24 00:22:00 -050011052009-12-11 Eric Botcazou <ebotcazou@adacore.com>
1106
1107 * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
1108 double' arguments.
1109
11102009-12-11 Eric Botcazou <ebotcazou@adacore.com>
1111
1112 * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
1113
11142009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1115
1116 PR libffi/40700
1117 * src/closures.c [X86_64 && __sun__ && __svr4__]
1118 (FFI_MMAP_EXEC_WRIT): Define.
1119
11202009-12-08 David Daney <ddaney@caviumnetworks.com>
1121
1122 * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
1123 * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
1124 * testsuite/libffi.call/stret_large.c: Same.
1125 * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
1126 * testsuite/libffi.call/stret_large2.c: Same.
1127 * testsuite/libffi.call/stret_medium2.c: Same.
1128
11292009-12-07 David Edelsohn <edelsohn@gnu.org>
1130
1131 * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
1132 typo.
1133
11342009-12-05 David Edelsohn <edelsohn@gnu.org>
1135
1136 * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
1137 code.
1138 * src/powerpc/aix_closure.S: Same.
1139
11402009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1141
1142 * Makefile.in: Regenerate.
1143 * configure: Regenerate.
1144 * include/Makefile.in: Regenerate.
1145 * man/Makefile.in: Regenerate.
1146 * testsuite/Makefile.in: Regenerate.
1147
11482009-12-04 David Edelsohn <edelsohn@gnu.org>
1149
1150 * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
Anthony Green0cfe60e2009-12-29 10:06:04 -05001151 linux64_closure.S.
Anthony Green115ab362009-12-24 00:22:00 -05001152
11532009-12-04 Uros Bizjak <ubizjak@gmail.com>
1154
1155 PR libffi/41908
1156 * src/x86/ffi64.c (classify_argument): Update from
1157 gcc/config/i386/i386.c.
1158 (ffi_closure_unix64_inner): Do not use the address of two consecutive
1159 SSE registers directly.
1160 * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
1161 for x86_64 linux targets.
1162
11632009-12-04 David Edelsohn <edelsohn@gnu.org>
1164
1165 * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
1166 pfr for long double split between fpr13 and stack.
1167
11682009-12-03 David Edelsohn <edelsohn@gnu.org>
1169
1170 * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
1171 fparg_count twice for long double.
1172
11732009-12-03 David Edelsohn <edelsohn@gnu.org>
1174
1175 PR libffi/42243
1176 * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
1177
11782009-12-03 Uros Bizjak <ubizjak@gmail.com>
1179
1180 * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
1181 Remove xfails for x86 linux targets.
1182
11832009-12-02 David Edelsohn <edelsohn@gnu.org>
1184
1185 * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
1186 case.
1187
11882009-12-01 David Edelsohn <edelsohn@gnu.org>
1189
1190 * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
1191 register usage. Call ffi_prep_args directly. Add long double
1192 return value support.
1193 * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
1194 applies to FFI_TYPE_DOUBLE. Correct fpr_base increment typo.
1195 Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
1196 (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
1197 mode.
1198 (ffi_closure_helper_DARWIN): Remove nf and ng counters. Move temp
1199 into case.
1200 * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
1201 Allocate result area between params and FPRs.
1202
12032009-11-30 David Edelsohn <edelsohn@gnu.org>
1204
1205 PR target/35484
1206 * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
1207 AIX64.
1208 * src/powerpc/aix.S: Implement AIX64 version.
1209 * src/powerpc/aix_closure.S: Implement AIX64 version.
1210 (ffi_closure_ASM): Use extsb, lha and displament addresses.
1211 * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
1212 support.
1213 (ffi_prep_cif_machdep): Same.
1214 (ffi_call): Same.
1215 (ffi_closure_helper_DARWIN): Same.
1216
12172009-11-02 Andreas Tobler <a.tobler@schweiz.org>
1218
1219 PR libffi/41908
1220 * testsuite/libffi.call/testclosure.c: New test.
1221
Anthony Greenc6dddbd2009-10-04 08:11:33 -040012222009-09-28 Kai Tietz <kai.tietz@onevision.com>
1223
1224 * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
1225 assembly version use of ___chkstk.
1226
12272009-09-23 Matthias Klose <doko@ubuntu.com>
1228
1229 PR libffi/40242, PR libffi/41443
1230 * src/arm/sysv.S (__ARM_ARCH__): Define for processors
1231 __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
1232 __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
1233 Change the conditionals to __SOFTFP__ || __ARM_EABI__
1234 for -mfloat-abi=softfp to work.
1235
12362009-09-17 Loren J. Rittle <ljrittle@acm.org>
1237
1238 PR testsuite/32843 (strikes again)
1239 * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
1240 enable proper extension on char and short.
1241
12422009-09-15 David Daney <ddaney@caviumnetworks.com>
1243
1244 * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
1245 handling for FFI_TYPE_POINTER.
1246 * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
1247 FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
1248 FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
1249 FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
1250 (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
1251 (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
1252 * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
1253 structure and pointer returns.
1254 (ffi_closure_N32): Add handling for pointer returns.
1255 * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
1256 calc_n32_return_struct_flags): Handle soft-float.
1257 (ffi_prep_cif_machdep): Handle soft-float, fix pointer handling.
1258 (ffi_call_N32): Declare proper argument types.
1259 (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
1260 soft-float.
1261
12622009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1263
1264 * configure.ac (AC_PREREQ): Bump to 2.64.
1265
12662009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1267
1268 * Makefile.am (install-html, install-pdf): Remove.
1269 * Makefile.in: Regenerate.
1270
1271 * Makefile.in: Regenerate.
1272 * aclocal.m4: Regenerate.
1273 * configure: Regenerate.
1274 * fficonfig.h.in: Regenerate.
1275 * include/Makefile.in: Regenerate.
1276 * man/Makefile.in: Regenerate.
1277 * testsuite/Makefile.in: Regenerate.
1278
Anthony Green3d561062011-11-12 07:20:24 -050012792011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
1280
1281 * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
1282 * configure: Rebuilt.
1283
Anthony Greenc6dddbd2009-10-04 08:11:33 -040012842009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1285
1286 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
1287
12882009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
1289
1290 PR libffi/40807
1291 * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
1292 return types for X86_WIN32.
1293 * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
1294 (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
1295 _ffi_closure_STDCALL): Likewise.
1296
1297 * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
1298 (dlmmap, dlmunmap): Also use these functions on Cygwin.
1299
13002009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
1301
1302 PR testsuite/40699
1303 PR testsuite/40707
1304 PR testsuite/40709
1305 * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
1306 2009-06-30 commits.
1307
13082009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
1309
1310 * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
1311 to "" before adding paths. (This reinstates an assignment that
1312 was removed by my 2009-06-30 commit, but changes the initial
1313 value from "." to "".)
1314
13152009-07-01 H.J. Lu <hongjiu.lu@intel.com>
1316
1317 PR testsuite/40601
1318 * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
1319 gccdir. Adjust ld_library_path for gcc only if gccdir isn't
1320 empty.
1321
13222009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
1323
1324 * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
1325 to ld_library_path. Use add_path. Add just find_libgcc_s
1326 to ld_library_path, not every libgcc multilib directory.
1327
13282009-06-16 Wim Lewis <wiml@hhhh.org>
1329
1330 * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
1331 supposed to be callee-saved.
1332 * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
1333 return buffer for odd-size structs.
1334
13352009-06-16 Andreas Tobler <a.tobler@schweiz.org>
1336
1337 PR libffi/40444
1338 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
1339 allow_stack_execute for Darwin.
1340
13412009-06-16 Andrew Haley <aph@redhat.com>
1342
1343 * configure.ac (TARGETDIR): Add missing blank lines.
1344 * configure: Regenerate.
1345
13462009-06-16 Andrew Haley <aph@redhat.com>
1347
1348 * testsuite/libffi.call/cls_align_sint64.c,
1349 testsuite/libffi.call/cls_align_uint64.c,
1350 testsuite/libffi.call/cls_longdouble_va.c,
1351 testsuite/libffi.call/cls_ulonglong.c,
1352 testsuite/libffi.call/return_ll1.c,
1353 testsuite/libffi.call/stret_medium2.c: Fix printf format
1354 specifiers.
1355 * testsuite/libffi.call/ffitest.h,
1356 testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
1357
13582009-06-15 Andrew Haley <aph@redhat.com>
1359
1360 * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
1361 * testsuite/libffi.call/err_bad_abi.c: Likewise.
Anthony Green0cfe60e2009-12-29 10:06:04 -05001362
Anthony Greenc6dddbd2009-10-04 08:11:33 -040013632009-06-12 Andrew Haley <aph@redhat.com>
1364
1365 * Makefile.am: Remove info_TEXINFOS.
1366
13672009-06-12 Andrew Haley <aph@redhat.com>
1368
1369 * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
1370 testsuite/libffi.call/cls_align_uint64.c,
1371 testsuite/libffi.call/cls_ulonglong.c,
1372 testsuite/libffi.call/return_ll1.c,
1373 testsuite/libffi.call/stret_medium2.c: Fix printf format
1374 specifiers.
1375 testsuite/libffi.special/unwindtest.cc: include stdint.h.
1376
13772009-06-11 Timothy Wall <twall@users.sf.net>
1378
1379 * Makefile.am,
Anthony Green0cfe60e2009-12-29 10:06:04 -05001380 configure.ac,
1381 include/ffi.h.in,
1382 include/ffi_common.h,
1383 src/closures.c,
1384 src/dlmalloc.c,
1385 src/x86/ffi.c,
1386 src/x86/ffitarget.h,
1387 src/x86/win64.S (new),
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001388 README: Added win64 support (mingw or MSVC)
Anthony Green0cfe60e2009-12-29 10:06:04 -05001389 * Makefile.in,
1390 include/Makefile.in,
1391 man/Makefile.in,
1392 testsuite/Makefile.in,
1393 configure,
1394 aclocal.m4: Regenerated
1395 * ltcf-c.sh: properly escape cygwin/w32 path
1396 * man/ffi_call.3: Clarify size requirements for return value.
1397 * src/x86/ffi64.c: Fix filename in comment.
1398 * src/x86/win32.S: Remove unused extern.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001399
Anthony Green0cfe60e2009-12-29 10:06:04 -05001400 * testsuite/libffi.call/closure_fn0.c,
1401 testsuite/libffi.call/closure_fn1.c,
1402 testsuite/libffi.call/closure_fn2.c,
1403 testsuite/libffi.call/closure_fn3.c,
1404 testsuite/libffi.call/closure_fn4.c,
1405 testsuite/libffi.call/closure_fn5.c,
1406 testsuite/libffi.call/closure_fn6.c,
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001407 testsuite/libffi.call/closure_stdcall.c,
1408 testsuite/libffi.call/cls_12byte.c,
1409 testsuite/libffi.call/cls_16byte.c,
1410 testsuite/libffi.call/cls_18byte.c,
1411 testsuite/libffi.call/cls_19byte.c,
1412 testsuite/libffi.call/cls_1_1byte.c,
1413 testsuite/libffi.call/cls_20byte.c,
1414 testsuite/libffi.call/cls_20byte1.c,
1415 testsuite/libffi.call/cls_24byte.c,
1416 testsuite/libffi.call/cls_2byte.c,
1417 testsuite/libffi.call/cls_3_1byte.c,
1418 testsuite/libffi.call/cls_3byte1.c,
1419 testsuite/libffi.call/cls_3byte2.c,
1420 testsuite/libffi.call/cls_4_1byte.c,
1421 testsuite/libffi.call/cls_4byte.c,
1422 testsuite/libffi.call/cls_5_1_byte.c,
1423 testsuite/libffi.call/cls_5byte.c,
1424 testsuite/libffi.call/cls_64byte.c,
1425 testsuite/libffi.call/cls_6_1_byte.c,
1426 testsuite/libffi.call/cls_6byte.c,
1427 testsuite/libffi.call/cls_7_1_byte.c,
1428 testsuite/libffi.call/cls_7byte.c,
1429 testsuite/libffi.call/cls_8byte.c,
1430 testsuite/libffi.call/cls_9byte1.c,
1431 testsuite/libffi.call/cls_9byte2.c,
1432 testsuite/libffi.call/cls_align_double.c,
1433 testsuite/libffi.call/cls_align_float.c,
1434 testsuite/libffi.call/cls_align_longdouble.c,
1435 testsuite/libffi.call/cls_align_longdouble_split.c,
1436 testsuite/libffi.call/cls_align_longdouble_split2.c,
1437 testsuite/libffi.call/cls_align_pointer.c,
1438 testsuite/libffi.call/cls_align_sint16.c,
1439 testsuite/libffi.call/cls_align_sint32.c,
1440 testsuite/libffi.call/cls_align_sint64.c,
1441 testsuite/libffi.call/cls_align_uint16.c,
1442 testsuite/libffi.call/cls_align_uint32.c,
1443 testsuite/libffi.call/cls_align_uint64.c,
1444 testsuite/libffi.call/cls_dbls_struct.c,
1445 testsuite/libffi.call/cls_double.c,
1446 testsuite/libffi.call/cls_double_va.c,
1447 testsuite/libffi.call/cls_float.c,
1448 testsuite/libffi.call/cls_longdouble.c,
1449 testsuite/libffi.call/cls_longdouble_va.c,
1450 testsuite/libffi.call/cls_multi_schar.c,
1451 testsuite/libffi.call/cls_multi_sshort.c,
1452 testsuite/libffi.call/cls_multi_sshortchar.c,
1453 testsuite/libffi.call/cls_multi_uchar.c,
1454 testsuite/libffi.call/cls_multi_ushort.c,
1455 testsuite/libffi.call/cls_multi_ushortchar.c,
1456 testsuite/libffi.call/cls_pointer.c,
1457 testsuite/libffi.call/cls_pointer_stack.c,
1458 testsuite/libffi.call/cls_schar.c,
1459 testsuite/libffi.call/cls_sint.c,
1460 testsuite/libffi.call/cls_sshort.c,
1461 testsuite/libffi.call/cls_uchar.c,
1462 testsuite/libffi.call/cls_uint.c,
1463 testsuite/libffi.call/cls_ulonglong.c,
1464 testsuite/libffi.call/cls_ushort.c,
1465 testsuite/libffi.call/err_bad_abi.c,
1466 testsuite/libffi.call/err_bad_typedef.c,
1467 testsuite/libffi.call/float2.c,
1468 testsuite/libffi.call/huge_struct.c,
1469 testsuite/libffi.call/nested_struct.c,
1470 testsuite/libffi.call/nested_struct1.c,
1471 testsuite/libffi.call/nested_struct10.c,
1472 testsuite/libffi.call/nested_struct2.c,
1473 testsuite/libffi.call/nested_struct3.c,
1474 testsuite/libffi.call/nested_struct4.c,
1475 testsuite/libffi.call/nested_struct5.c,
1476 testsuite/libffi.call/nested_struct6.c,
1477 testsuite/libffi.call/nested_struct7.c,
1478 testsuite/libffi.call/nested_struct8.c,
1479 testsuite/libffi.call/nested_struct9.c,
1480 testsuite/libffi.call/problem1.c,
1481 testsuite/libffi.call/return_ldl.c,
1482 testsuite/libffi.call/return_ll1.c,
1483 testsuite/libffi.call/stret_large.c,
1484 testsuite/libffi.call/stret_large2.c,
1485 testsuite/libffi.call/stret_medium.c,
1486 testsuite/libffi.call/stret_medium2.c,
Anthony Green0cfe60e2009-12-29 10:06:04 -05001487 testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
1488 of checking for MMAP. Use intptr_t instead of long casts.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001489
14902009-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
1491
1492 * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
1493 * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
1494 * testsuite/libffi.call/err_bad_typedef.c: Likewise.
1495
14962009-06-09 Andrew Haley <aph@redhat.com>
1497
1498 * src/x86/freebsd.S: Add missing file.
1499
15002009-06-08 Andrew Haley <aph@redhat.com>
1501
1502 Import from libffi 3.0.8:
1503
1504 * doc/libffi.texi: New file.
1505 * doc/libffi.info: Likewise.
1506 * doc/stamp-vti: Likewise.
1507 * man/Makefile.am: New file.
1508 * man/ffi_call.3: New file.
1509
1510 * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
1511 src/dlmalloc.c.
1512 (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
1513
1514 * configure.ac: Bump version to 3.0.8.
1515 parisc*-*-linux*: Add.
1516 i386-*-freebsd* | i386-*-openbsd*: Add.
1517 powerpc-*-beos*: Add.
1518 AM_CONDITIONAL X86_FREEBSD: Add.
1519 AC_CONFIG_FILES: Add man/Makefile.
1520
1521 * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
1522
15232009-06-08 Andrew Haley <aph@redhat.com>
1524
1525 * README: Import from libffi 3.0.8.
1526
15272009-06-08 Andrew Haley <aph@redhat.com>
1528
1529 * testsuite/libffi.call/err_bad_abi.c: Add xfails.
1530 * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
1531 * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
1532 * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
1533
1534 * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
1535 * testsuite/libffi.call/stret_medium.c: Likewise.
1536 * testsuite/libffi.call/stret_large2.c: Likewise.
1537 * testsuite/libffi.call/stret_large.c: Likewise.
1538
15392008-12-26 Timothy Wall <twall@users.sf.net>
1540
Anthony Green0cfe60e2009-12-29 10:06:04 -05001541 * testsuite/libffi.call/cls_longdouble.c,
1542 testsuite/libffi.call/cls_longdouble_va.c,
1543 testsuite/libffi.call/cls_align_longdouble.c,
1544 testsuite/libffi.call/cls_align_longdouble_split.c,
1545 testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
1546 failures on x86_64 cygwin/mingw.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001547
15482008-12-22 Timothy Wall <twall@users.sf.net>
1549
Anthony Green0cfe60e2009-12-29 10:06:04 -05001550 * testsuite/libffi.call/closure_fn0.c,
1551 testsuite/libffi.call/closure_fn1.c,
1552 testsuite/libffi.call/closure_fn2.c,
1553 testsuite/libffi.call/closure_fn3.c,
1554 testsuite/libffi.call/closure_fn4.c,
1555 testsuite/libffi.call/closure_fn5.c,
1556 testsuite/libffi.call/closure_fn6.c,
1557 testsuite/libffi.call/closure_loc_fn0.c,
1558 testsuite/libffi.call/closure_stdcall.c,
1559 testsuite/libffi.call/cls_align_pointer.c,
1560 testsuite/libffi.call/cls_pointer.c,
1561 testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
1562 pointer to integer (intptr_t).
1563 * testsuite/libffi.call/cls_longdouble.c: disable for win64.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001564
15652008-07-24 Anthony Green <green@redhat.com>
1566
Anthony Green0cfe60e2009-12-29 10:06:04 -05001567 * testsuite/libffi.call/cls_dbls_struct.c,
1568 testsuite/libffi.call/cls_double_va.c,
1569 testsuite/libffi.call/cls_longdouble.c,
1570 testsuite/libffi.call/cls_longdouble_va.c,
1571 testsuite/libffi.call/cls_pointer.c,
1572 testsuite/libffi.call/cls_pointer_stack.c,
1573 testsuite/libffi.call/err_bad_abi.c: Clean up failures from
1574 compiler warnings.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001575
15762008-03-04 Anthony Green <green@redhat.com>
Anthony Green0cfe60e2009-12-29 10:06:04 -05001577 Blake Chaffin
1578 hos@tamanegi.org
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001579
Anthony Green0cfe60e2009-12-29 10:06:04 -05001580 * testsuite/libffi.call/cls_align_longdouble_split2.c
1581 testsuite/libffi.call/cls_align_longdouble_split.c
1582 testsuite/libffi.call/cls_dbls_struct.c
1583 testsuite/libffi.call/cls_double_va.c
1584 testsuite/libffi.call/cls_longdouble.c
1585 testsuite/libffi.call/cls_longdouble_va.c
1586 testsuite/libffi.call/cls_pointer.c
1587 testsuite/libffi.call/cls_pointer_stack.c
1588 testsuite/libffi.call/err_bad_abi.c
1589 testsuite/libffi.call/err_bad_typedef.c
1590 testsuite/libffi.call/stret_large2.c
1591 testsuite/libffi.call/stret_large.c
1592 testsuite/libffi.call/stret_medium2.c
1593 testsuite/libffi.call/stret_medium.c: New tests from Apple.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001594
15952009-06-05 Andrew Haley <aph@redhat.com>
1596
1597 * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
1598 libffi.
1599
16002009-06-04 Andrew Haley <aph@redhat.com>
1601
1602 * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
1603 stdcall changes.
1604
16052008-02-26 Anthony Green <green@redhat.com>
Anthony Green0cfe60e2009-12-29 10:06:04 -05001606 Thomas Heller <theller@ctypes.org>
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001607
Anthony Green0cfe60e2009-12-29 10:06:04 -05001608 * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
1609 comment.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001610
16112008-02-03 Timothy Wall <twall@users.sf.net>
1612
Anthony Green0cfe60e2009-12-29 10:06:04 -05001613 * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
1614 offset based on code pointer, not data pointer.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001615
16162008-01-31 Timothy Wall <twall@users.sf.net>
1617
Anthony Green0cfe60e2009-12-29 10:06:04 -05001618 * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
1619 closures.
1620 * src/x86/ffitarget.h: Increase size of trampoline for stdcall
1621 closures.
1622 * src/x86/win32.S: Add assembly for stdcall closure.
1623 * src/x86/ffi.c: Initialize stdcall closure trampoline.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001624
16252009-06-04 Andrew Haley <aph@redhat.com>
1626
1627 * include/ffi.h.in: Change void (*)() to void (*)(void).
1628 * src/x86/ffi.c: Likewise.
1629
16302009-06-04 Andrew Haley <aph@redhat.com>
1631
1632 * src/powerpc/ppc_closure.S: Insert licence header.
1633 * src/powerpc/linux64_closure.S: Likewise.
1634 * src/m68k/sysv.S: Likewise.
1635
1636 * src/sh64/ffi.c: Change void (*)() to void (*)(void).
1637 * src/powerpc/ffi.c: Likewise.
1638 * src/powerpc/ffi_darwin.c: Likewise.
1639 * src/m32r/ffi.c: Likewise.
1640 * src/sh64/ffi.c: Likewise.
1641 * src/x86/ffi64.c: Likewise.
1642 * src/alpha/ffi.c: Likewise.
1643 * src/alpha/osf.S: Likewise.
1644 * src/frv/ffi.c: Likewise.
1645 * src/s390/ffi.c: Likewise.
1646 * src/pa/ffi.c: Likewise.
1647 * src/pa/hpux32.S: Likewise.
1648 * src/ia64/unix.S: Likewise.
1649 * src/ia64/ffi.c: Likewise.
1650 * src/sparc/ffi.c: Likewise.
1651 * src/mips/ffi.c: Likewise.
1652 * src/sh/ffi.c: Likewise.
1653
16542008-02-15 David Daney <ddaney@avtrex.com>
1655
Anthony Green0cfe60e2009-12-29 10:06:04 -05001656 * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
1657 Define (conditionally), and use it to include cachectl.h.
1658 (ffi_prep_closure_loc): Fix cache flushing.
1659 * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001660
16612009-06-04 Andrew Haley <aph@redhat.com>
1662
1663 include/ffi.h.in,
1664 src/arm/ffitarget.h,
1665 src/arm/ffi.c,
1666 src/arm/sysv.S,
1667 src/powerpc/ffitarget.h,
1668 src/closures.c,
1669 src/sh64/ffitarget.h,
1670 src/sh64/ffi.c,
1671 src/sh64/sysv.S,
1672 src/types.c,
1673 src/x86/ffi64.c,
1674 src/x86/ffitarget.h,
1675 src/x86/win32.S,
1676 src/x86/darwin.S,
1677 src/x86/ffi.c,
1678 src/x86/sysv.S,
1679 src/x86/unix64.S,
1680 src/alpha/ffitarget.h,
1681 src/alpha/ffi.c,
1682 src/alpha/osf.S,
1683 src/m68k/ffitarget.h,
1684 src/frv/ffitarget.h,
1685 src/frv/ffi.c,
1686 src/s390/ffitarget.h,
1687 src/s390/sysv.S,
1688 src/cris/ffitarget.h,
1689 src/pa/linux.S,
1690 src/pa/ffitarget.h,
1691 src/pa/ffi.c,
1692 src/raw_api.c,
1693 src/ia64/ffitarget.h,
1694 src/ia64/unix.S,
1695 src/ia64/ffi.c,
1696 src/ia64/ia64_flags.h,
1697 src/java_raw_api.c,
1698 src/debug.c,
1699 src/sparc/v9.S,
1700 src/sparc/ffitarget.h,
1701 src/sparc/ffi.c,
1702 src/sparc/v8.S,
1703 src/mips/ffitarget.h,
1704 src/mips/n32.S,
1705 src/mips/o32.S,
1706 src/mips/ffi.c,
1707 src/prep_cif.c,
1708 src/sh/ffitarget.h,
1709 src/sh/ffi.c,
1710 src/sh/sysv.S: Update license text.
1711
17122009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
1713
1714 * src/x86/win32.S (_ffi_closure_STDCALL): New function.
1715 (.eh_frame): Add FDE for it.
1716
17172009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
1718
1719 * configure.ac: Also check if assembler supports pc-relative
1720 relocs on X86_WIN32 targets.
1721 * configure: Regenerate.
1722 * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
1723 (_ffi_call_SYSV): Add missing function type symbol .def and
1724 add EH markup labels.
1725 (_ffi_call_STDCALL): Likewise.
1726 (_ffi_closure_SYSV): Likewise.
1727 (_ffi_closure_raw_SYSV): Likewise.
1728 (.eh_frame): Add hand-crafted EH data.
1729
17302009-04-09 Jakub Jelinek <jakub@redhat.com>
1731
1732 * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
1733 version 3 of the GNU General Public License and to point readers
1734 at the COPYING3 file and the FSF's license web page.
1735 * testsuite/libffi.call/call.exp: Likewise.
1736 * testsuite/libffi.special/special.exp: Likewise.
1737
17382009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1739
1740 * configure: Regenerate.
1741
17422008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1743
1744 PR libffi/26048
1745 * configure.ac (HAVE_AS_X86_PCREL): New test.
1746 * configure: Regenerate.
1747 * fficonfig.h.in: Regenerate.
1748 * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
1749 RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
1750 RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
1751 (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
1752 * src/x86/unix64.S (.Lstore_table): Move to .text section.
1753 (.Lload_table): Likewise.
1754 (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
1755
17562008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1757
1758 * configure: Regenerate.
1759
17602008-11-21 Eric Botcazou <ebotcazou@adacore.com>
1761
1762 * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
1763 signed/unsigned int8/16 return values.
1764 * src/sparc/v8.S (ffi_call_v8): Likewise.
1765 (ffi_closure_v8): Likewise.
1766
17672008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
Anthony Green0cfe60e2009-12-29 10:06:04 -05001768 Steve Ellcey <sje@cup.hp.com>
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001769
1770 * configure: Regenerate for new libtool.
1771 * Makefile.in: Ditto.
1772 * include/Makefile.in: Ditto.
1773 * aclocal.m4: Ditto.
1774
17752008-08-25 Andreas Tobler <a.tobler@schweiz.org>
1776
1777 * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
1778 FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
1779 Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
1780 Adjust copyright notice.
1781 * src/powerpc/ffi.c: Add two new flags to indicate if we have one
1782 register or two register to use for FFI_SYSV structs.
1783 (ffi_prep_cif_machdep): Pass the right register flag introduced above.
1784 (ffi_closure_helper_SYSV): Fix the return type for
1785 FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
1786 Adjust copyright notice.
1787
17882008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
1789
1790 * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
1791 int.
1792
17932008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1794
1795 * configure: Regenerate.
1796 * include/Makefile.in: Regenerate.
1797 * testsuite/Makefile.in: Regenerate.
1798
17992008-06-07 Joseph Myers <joseph@codesourcery.com>
1800
1801 * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
1802 powerpc-*-beos*): Remove.
1803 * configure: Regenerate.
1804
18052008-05-09 Julian Brown <julian@codesourcery.com>
1806
1807 * Makefile.am (LTLDFLAGS): New.
1808 (libffi_la_LDFLAGS): Use above.
1809 * Makefile.in: Regenerate.
1810
18112008-04-18 Paolo Bonzini <bonzini@gnu.org>
1812
1813 PR bootstrap/35457
1814 * aclocal.m4: Regenerate.
1815 * configure: Regenerate.
1816
18172008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
1818
1819 * src/sh/sysv.S: Add .note.GNU-stack on Linux.
1820 * src/sh64/sysv.S: Likewise.
1821
18222008-03-26 Daniel Jacobowitz <dan@debian.org>
1823
1824 * src/arm/sysv.S: Fix ARM comment marker.
1825
18262008-03-26 Jakub Jelinek <jakub@redhat.com>
1827
1828 * src/alpha/osf.S: Add .note.GNU-stack on Linux.
1829 * src/s390/sysv.S: Likewise.
1830 * src/powerpc/ppc_closure.S: Likewise.
1831 * src/powerpc/sysv.S: Likewise.
1832 * src/x86/unix64.S: Likewise.
1833 * src/x86/sysv.S: Likewise.
1834 * src/sparc/v8.S: Likewise.
1835 * src/sparc/v9.S: Likewise.
1836 * src/m68k/sysv.S: Likewise.
1837 * src/arm/sysv.S: Likewise.
1838
18392008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1840
1841 * aclocal.m4: Regenerate.
1842 * configure: Likewise.
1843 * Makefile.in: Likewise.
1844 * include/Makefile.in: Likewise.
1845 * testsuite/Makefile.in: Likewise.
1846
18472008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
1848 Andreas Tobler <a.tobler@schweiz.org>
1849
1850 * configure.ac: Add amd64-*-freebsd* target.
1851 * configure: Regenerate.
1852
18532008-01-30 H.J. Lu <hongjiu.lu@intel.com>
1854
1855 PR libffi/34612
1856 * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
1857 returning struct.
1858
1859 * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
1860 tests.
1861
18622008-01-24 David Edelsohn <edelsohn@gnu.org>
1863
1864 * configure: Regenerate.
1865
18662008-01-06 Andreas Tobler <a.tobler@schweiz.org>
1867
1868 * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
1869
18702008-01-05 Andreas Tobler <a.tobler@schweiz.org>
1871
1872 PR testsuite/32843
1873 * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
1874 signed/unsigned int8/16 for X86_DARWIN.
1875 Updated copyright info.
1876 Handle one and two byte structs with special cif->flags.
1877 * src/x86/ffitarget.h: Add special types for one and two byte structs.
1878 Updated copyright info.
1879 * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
1880 sysv.S
1881 Remove code to pop args from the stack after call.
1882 Special-case signed/unsigned for int8/16, one and two byte structs.
1883 (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
1884 FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
1885 FFI_TYPE_SINT32.
1886 Updated copyright info.
1887
18882007-12-08 David Daney <ddaney@avtrex.com>
1889
Anthony Green0cfe60e2009-12-29 10:06:04 -05001890 * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001891 SUBU, add with ADDU and use smaller code sequences.
1892
18932007-12-07 David Daney <ddaney@avtrex.com>
1894
1895 * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
1896 type.
1897
18982007-12-06 David Daney <ddaney@avtrex.com>
1899
1900 * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
1901 defined.
1902 (ffi_java_raw): New typedef.
1903 (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
1904 ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
1905 ffi_java_raw.
1906 (ffi_java_raw_closure) : Same.
1907 (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
1908 parameter types.
1909 * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
1910 FFI_SIZEOF_JAVA_RAW.
1911 (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
1912 Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
1913 sizeof(ffi_java_raw) for alignment calculations.
1914 (ffi_java_ptrarray_to_raw): Same.
1915 (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
Anthony Green0cfe60e2009-12-29 10:06:04 -05001916 if FFI_SIZEOF_JAVA_RAW == 4.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001917 (ffi_java_raw_to_rvalue): Same.
1918 (ffi_java_raw_call): Change type of raw to ffi_java_raw.
1919 (ffi_java_translate_args): Same.
1920 (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
1921 parameter types.
1922 * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
1923
19242007-12-06 David Daney <ddaney@avtrex.com>
1925
Anthony Green0cfe60e2009-12-29 10:06:04 -05001926 * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001927 pointer values.
1928
19292007-12-01 Andreas Tobler <a.tobler@schweiz.org>
1930
1931 PR libffi/31937
1932 * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
1933 Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
1934 * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
1935 set the NUM_FPR_ARG_REGISTERS according to.
1936 Add support for potential soft-float support under hard-float
1937 architecture.
1938 (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
1939 FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
1940 to the FFI_LINUX_SOFT_FLOAT ABI.
1941 (ffi_prep_cif_machdep): Likewise.
1942 (ffi_closure_helper_SYSV): Likewise.
1943 * src/powerpc/ppc_closure.S: Make sure not to store float/double
1944 on archs where __NO_FPRS__ is true.
1945 Add FFI_TYPE_UINT128 support.
1946 * src/powerpc/sysv.S: Add support for soft-float long-double-128.
1947 Adjust copyright notice.
1948
19492007-11-25 Andreas Tobler <a.tobler@schweiz.org>
1950
1951 * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
1952 * include/ffi_common.h: ... here.
1953 Update copyright.
1954
19552007-11-17 Andreas Tobler <a.tobler@schweiz.org>
1956
1957 * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
1958 * src/powerpc/linux64.S: Likewise.
1959 * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
1960 * testsuite/libffi.call/return_ldl.c: New test.
1961
19622007-09-04 <aph@redhat.com>
1963
1964 * src/arm/sysv.S (UNWIND): New.
1965 (Whole file): Conditionally compile unwinder directives.
1966 * src/arm/sysv.S: Add unwinder directives.
1967
1968 * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
1969 Only treat r0 as a struct address if we're actually returning a
1970 struct by address.
1971 Only copy the bytes that are actually within a struct.
1972 (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
1973 is returned in r0, not passed by address.
1974 (ffi_call): Allocate a word-sized temporary for the case where
1975 a composite is returned in r0.
1976 (ffi_prep_incoming_args_SYSV): Align as necessary.
1977
19782007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
1979
Anthony Green0cfe60e2009-12-29 10:06:04 -05001980 * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
Anthony Greenc6dddbd2009-10-04 08:11:33 -04001981 directly using the sys_cacheflush syscall.
1982
19832007-07-27 Andrew Haley <aph@redhat.com>
1984
1985 * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
1986
19872007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
1988
1989 * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
1990 * configure.ac: Likewise.
1991 * Makefile.in: Regenerate.
1992 * include/Makefile.in: Likewise.
1993 * testsuite/Makefile.in: Likewise.
1994 * configure: Likewise.
1995
19962007-08-24 David Daney <ddaney@avtrex.com>
1997
1998 * testsuite/libffi.call/return_sl.c: New test.
1999
20002007-08-10 David Daney <ddaney@avtrex.com>
2001
2002 * testsuite/libffi.call/cls_multi_ushort.c,
2003 testsuite/libffi.call/cls_align_uint16.c,
2004 testsuite/libffi.call/nested_struct1.c,
2005 testsuite/libffi.call/nested_struct3.c,
2006 testsuite/libffi.call/cls_7_1_byte.c,
2007 testsuite/libffi.call/nested_struct5.c,
2008 testsuite/libffi.call/cls_double.c,
2009 testsuite/libffi.call/nested_struct7.c,
2010 testsuite/libffi.call/cls_sint.c,
2011 testsuite/libffi.call/nested_struct9.c,
2012 testsuite/libffi.call/cls_20byte1.c,
2013 testsuite/libffi.call/cls_multi_sshortchar.c,
2014 testsuite/libffi.call/cls_align_sint64.c,
2015 testsuite/libffi.call/cls_3byte2.c,
2016 testsuite/libffi.call/cls_multi_schar.c,
2017 testsuite/libffi.call/cls_multi_uchar.c,
2018 testsuite/libffi.call/cls_19byte.c,
2019 testsuite/libffi.call/cls_9byte1.c,
2020 testsuite/libffi.call/cls_align_float.c,
2021 testsuite/libffi.call/closure_fn1.c,
2022 testsuite/libffi.call/problem1.c,
2023 testsuite/libffi.call/closure_fn3.c,
2024 testsuite/libffi.call/cls_sshort.c,
2025 testsuite/libffi.call/closure_fn5.c,
2026 testsuite/libffi.call/cls_align_double.c,
2027 testsuite/libffi.call/nested_struct.c,
2028 testsuite/libffi.call/cls_2byte.c,
2029 testsuite/libffi.call/nested_struct10.c,
2030 testsuite/libffi.call/cls_4byte.c,
2031 testsuite/libffi.call/cls_6byte.c,
2032 testsuite/libffi.call/cls_8byte.c,
2033 testsuite/libffi.call/cls_multi_sshort.c,
2034 testsuite/libffi.call/cls_align_sint16.c,
2035 testsuite/libffi.call/cls_align_uint32.c,
2036 testsuite/libffi.call/cls_20byte.c,
2037 testsuite/libffi.call/cls_float.c,
2038 testsuite/libffi.call/nested_struct2.c,
2039 testsuite/libffi.call/cls_5_1_byte.c,
2040 testsuite/libffi.call/nested_struct4.c,
2041 testsuite/libffi.call/cls_24byte.c,
2042 testsuite/libffi.call/nested_struct6.c,
2043 testsuite/libffi.call/cls_64byte.c,
2044 testsuite/libffi.call/nested_struct8.c,
2045 testsuite/libffi.call/cls_uint.c,
2046 testsuite/libffi.call/cls_multi_ushortchar.c,
2047 testsuite/libffi.call/cls_schar.c,
2048 testsuite/libffi.call/cls_uchar.c,
2049 testsuite/libffi.call/cls_align_uint64.c,
2050 testsuite/libffi.call/cls_ulonglong.c,
2051 testsuite/libffi.call/cls_align_longdouble.c,
2052 testsuite/libffi.call/cls_1_1byte.c,
2053 testsuite/libffi.call/cls_12byte.c,
2054 testsuite/libffi.call/cls_3_1byte.c,
2055 testsuite/libffi.call/cls_3byte1.c,
2056 testsuite/libffi.call/cls_4_1byte.c,
2057 testsuite/libffi.call/cls_6_1_byte.c,
2058 testsuite/libffi.call/cls_16byte.c,
2059 testsuite/libffi.call/cls_18byte.c,
2060 testsuite/libffi.call/closure_fn0.c,
2061 testsuite/libffi.call/cls_9byte2.c,
2062 testsuite/libffi.call/closure_fn2.c,
2063 testsuite/libffi.call/closure_fn4.c,
2064 testsuite/libffi.call/cls_ushort.c,
2065 testsuite/libffi.call/closure_fn6.c,
2066 testsuite/libffi.call/cls_5byte.c,
2067 testsuite/libffi.call/cls_align_pointer.c,
2068 testsuite/libffi.call/cls_7byte.c,
2069 testsuite/libffi.call/cls_align_sint32.c,
2070 testsuite/libffi.special/unwindtest_ffi_call.cc,
2071 testsuite/libffi.special/unwindtest.cc: Remove xfail for mips64*-*-*.
2072
20732007-08-10 David Daney <ddaney@avtrex.com>
2074
2075 PR libffi/28313
2076 * configure.ac: Don't treat mips64 as a special case.
2077 * Makefile.am (nodist_libffi_la_SOURCES): Add n32.S.
2078 * configure: Regenerate
2079 * Makefile.in: Ditto.
2080 * fficonfig.h.in: Ditto.
2081 * src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent.
2082 (LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros.
2083 (FFI_DEFAULT_ABI): Set for n64 case.
2084 (FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases.
2085 * src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE.
2086 (ffi_closure_N32): New function.
2087 (.eh_frame): New section
2088 * src/mips/o32.S: Clean up comments.
2089 (ffi_closure_O32): Pass ffi_closure parameter in $12.
2090 * src/mips/ffi.c: Use FFI_MIPS_N32 instead of
2091 _MIPS_SIM == _ABIN32 throughout.
2092 (FFI_MIPS_STOP_HERE): New, use in place of
2093 ffi_stop_here.
2094 (ffi_prep_args): Use unsigned long to hold pointer values. Rewrite
2095 to support n32/n64 ABIs.
2096 (calc_n32_struct_flags): Rewrite.
2097 (calc_n32_return_struct_flags): Remove unused variable. Reverse
2098 position of flag bits.
2099 (ffi_prep_cif_machdep): Rewrite n32 portion.
2100 (ffi_call): Enable for n64. Add special handling for small structure
2101 return values.
2102 (ffi_prep_closure_loc): Add n32 and n64 support.
2103 (ffi_closure_mips_inner_O32): Add cast to silence warning.
2104 (copy_struct_N32, ffi_closure_mips_inner_N32): New functions.
2105
21062007-08-08 David Daney <ddaney@avtrex.com>
2107
2108 * testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition.
2109 * testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
2110 specifiers.
2111 * testsuite/libffi.call/nested_struct1.c (main): Ditto.
2112 * testsuite/libffi.call/cls_sint.c (main): Ditto.
2113 * testsuite/libffi.call/nested_struct9.c (main): Ditto.
2114 * testsuite/libffi.call/cls_20byte1.c (main): Ditto.
2115 * testsuite/libffi.call/cls_9byte1.c (main): Ditto.
2116 * testsuite/libffi.call/closure_fn1.c (main): Ditto.
2117 * testsuite/libffi.call/closure_fn3.c (main): Ditto.
2118 * testsuite/libffi.call/return_dbl2.c (main): Ditto.
2119 * testsuite/libffi.call/cls_sshort.c (main): Ditto.
2120 * testsuite/libffi.call/return_fl3.c (main): Ditto.
2121 * testsuite/libffi.call/closure_fn5.c (main): Ditto.
2122 * testsuite/libffi.call/nested_struct.c (main): Ditto.
2123 * testsuite/libffi.call/nested_struct10.c (main): Ditto.
2124 * testsuite/libffi.call/return_ll1.c (main): Ditto.
2125 * testsuite/libffi.call/cls_8byte.c (main): Ditto.
2126 * testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
2127 * testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
2128 * testsuite/libffi.call/cls_20byte.c (main): Ditto.
2129 * testsuite/libffi.call/nested_struct2.c (main): Ditto.
2130 * testsuite/libffi.call/cls_24byte.c (main): Ditto.
2131 * testsuite/libffi.call/nested_struct6.c (main): Ditto.
2132 * testsuite/libffi.call/cls_uint.c (main): Ditto.
2133 * testsuite/libffi.call/cls_12byte.c (main): Ditto.
2134 * testsuite/libffi.call/cls_16byte.c (main): Ditto.
2135 * testsuite/libffi.call/closure_fn0.c (main): Ditto.
2136 * testsuite/libffi.call/cls_9byte2.c (main): Ditto.
2137 * testsuite/libffi.call/closure_fn2.c (main): Ditto.
2138 * testsuite/libffi.call/return_dbl1.c (main): Ditto.
2139 * testsuite/libffi.call/closure_fn4.c (main): Ditto.
2140 * testsuite/libffi.call/closure_fn6.c (main): Ditto.
2141 * testsuite/libffi.call/cls_align_sint32.c (main): Ditto.
2142
21432007-08-07 Andrew Haley <aph@redhat.com>
2144
2145 * src/x86/sysv.S (ffi_closure_raw_SYSV): Fix typo in previous
2146 checkin.
2147
21482007-08-06 Andrew Haley <aph@redhat.com>
2149
2150 PR testsuite/32843
2151 * src/x86/sysv.S (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
2152 FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
2153 FFI_TYPE_SINT32.
2154
21552007-08-02 David Daney <ddaney@avtrex.com>
2156
2157 * testsuite/libffi.call/return_ul.c (main): Define return type as
2158 ffi_arg. Use proper printf conversion specifier.
Anthony Green0cfe60e2009-12-29 10:06:04 -05002159
Anthony Greenc6dddbd2009-10-04 08:11:33 -040021602007-07-30 Andrew Haley <aph@redhat.com>
2161
2162 PR testsuite/32843
2163 * src/x86/ffi.c (ffi_prep_cif_machdep): in x86 case, add code for
2164 signed/unsigned int8/16.
2165 * src/x86/sysv.S (ffi_call_SYSV): Rewrite to:
2166 Use a jump table.
2167 Remove code to pop args from the stack after call.
2168 Special-case signed/unsigned int8/16.
2169 * testsuite/libffi.call/return_sc.c (main): Revert.
2170
21712007-07-26 Richard Guenther <rguenther@suse.de>
2172
2173 PR testsuite/32843
2174 * testsuite/libffi.call/return_sc.c (main): Verify call
2175 result as signed char, not ffi_arg.
2176
21772007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2178
2179 * configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64.
2180 * configure: Regenerate.
2181
21822007-07-11 David Daney <ddaney@avtrex.com>
2183
2184 * src/mips/ffi.c: Don't include sys/cachectl.h.
2185 (ffi_prep_closure_loc): Use __builtin___clear_cache() instead of
2186 cacheflush().
2187
21882007-05-18 Aurelien Jarno <aurelien@aurel32.net>
2189
2190 * src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted
2191 from (ffi_prep_closure): ... this.
2192 (FFI_INIT_TRAMPOLINE): Adjust.
2193
21942005-12-31 Phil Blundell <pb@reciva.com>
2195
Anthony Green0cfe60e2009-12-29 10:06:04 -05002196 * src/arm/ffi.c (ffi_prep_incoming_args_SYSV,
2197 ffi_closure_SYSV_inner, ffi_prep_closure): New, add closure support.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002198 * src/arm/sysv.S(ffi_closure_SYSV): Likewise.
2199 * src/arm/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
2200 (FFI_CLOSURES): Enable closure support.
2201
22022007-07-03 Andrew Haley <aph@hedges.billgatliff.com>
2203
Anthony Green0cfe60e2009-12-29 10:06:04 -05002204 * testsuite/libffi.call/cls_multi_ushort.c,
2205 testsuite/libffi.call/cls_align_uint16.c,
2206 testsuite/libffi.call/nested_struct1.c,
2207 testsuite/libffi.call/nested_struct3.c,
2208 testsuite/libffi.call/cls_7_1_byte.c,
2209 testsuite/libffi.call/cls_double.c,
2210 testsuite/libffi.call/nested_struct5.c,
2211 testsuite/libffi.call/nested_struct7.c,
2212 testsuite/libffi.call/cls_sint.c,
2213 testsuite/libffi.call/nested_struct9.c,
2214 testsuite/libffi.call/cls_20byte1.c,
2215 testsuite/libffi.call/cls_multi_sshortchar.c,
2216 testsuite/libffi.call/cls_align_sint64.c,
2217 testsuite/libffi.call/cls_3byte2.c,
2218 testsuite/libffi.call/cls_multi_schar.c,
2219 testsuite/libffi.call/cls_multi_uchar.c,
2220 testsuite/libffi.call/cls_19byte.c,
2221 testsuite/libffi.call/cls_9byte1.c,
2222 testsuite/libffi.call/cls_align_float.c,
2223 testsuite/libffi.call/closure_fn1.c,
2224 testsuite/libffi.call/problem1.c,
2225 testsuite/libffi.call/closure_fn3.c,
2226 testsuite/libffi.call/cls_sshort.c,
2227 testsuite/libffi.call/closure_fn5.c,
2228 testsuite/libffi.call/cls_align_double.c,
2229 testsuite/libffi.call/cls_2byte.c,
2230 testsuite/libffi.call/nested_struct.c,
2231 testsuite/libffi.call/nested_struct10.c,
2232 testsuite/libffi.call/cls_4byte.c,
2233 testsuite/libffi.call/cls_6byte.c,
2234 testsuite/libffi.call/cls_8byte.c,
2235 testsuite/libffi.call/cls_multi_sshort.c,
2236 testsuite/libffi.call/cls_align_uint32.c,
2237 testsuite/libffi.call/cls_align_sint16.c,
2238 testsuite/libffi.call/cls_float.c,
2239 testsuite/libffi.call/cls_20byte.c,
2240 testsuite/libffi.call/cls_5_1_byte.c,
2241 testsuite/libffi.call/nested_struct2.c,
2242 testsuite/libffi.call/cls_24byte.c,
2243 testsuite/libffi.call/nested_struct4.c,
2244 testsuite/libffi.call/nested_struct6.c,
2245 testsuite/libffi.call/cls_64byte.c,
2246 testsuite/libffi.call/nested_struct8.c,
2247 testsuite/libffi.call/cls_uint.c,
2248 testsuite/libffi.call/cls_multi_ushortchar.c,
2249 testsuite/libffi.call/cls_schar.c,
2250 testsuite/libffi.call/cls_uchar.c,
2251 testsuite/libffi.call/cls_align_uint64.c,
2252 testsuite/libffi.call/cls_ulonglong.c,
2253 testsuite/libffi.call/cls_align_longdouble.c,
2254 testsuite/libffi.call/cls_1_1byte.c,
2255 testsuite/libffi.call/cls_12byte.c,
2256 testsuite/libffi.call/cls_3_1byte.c,
2257 testsuite/libffi.call/cls_3byte1.c,
2258 testsuite/libffi.call/cls_4_1byte.c,
2259 testsuite/libffi.call/cls_6_1_byte.c,
2260 testsuite/libffi.call/cls_16byte.c,
2261 testsuite/libffi.call/cls_18byte.c,
2262 testsuite/libffi.call/closure_fn0.c,
2263 testsuite/libffi.call/cls_9byte2.c,
2264 testsuite/libffi.call/closure_fn2.c,
2265 testsuite/libffi.call/closure_fn4.c,
2266 testsuite/libffi.call/cls_ushort.c,
2267 testsuite/libffi.call/closure_fn6.c,
2268 testsuite/libffi.call/cls_5byte.c,
2269 testsuite/libffi.call/cls_align_pointer.c,
2270 testsuite/libffi.call/cls_7byte.c,
2271 testsuite/libffi.call/cls_align_sint32.c,
2272 testsuite/libffi.special/unwindtest_ffi_call.cc,
2273 testsuite/libffi.special/unwindtest.cc: Enable for ARM.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002274
22752007-07-05 H.J. Lu <hongjiu.lu@intel.com>
2276
2277 * aclocal.m4: Regenerated.
2278
22792007-06-02 Paolo Bonzini <bonzini@gnu.org>
2280
2281 * configure: Regenerate.
2282
22832007-05-23 Steve Ellcey <sje@cup.hp.com>
2284
2285 * Makefile.in: Regenerate.
2286 * configure: Regenerate.
2287 * aclocal.m4: Regenerate.
2288 * include/Makefile.in: Regenerate.
2289 * testsuite/Makefile.in: Regenerate.
2290
22912007-05-10 Roman Zippel <zippel@linux-m68k.org>
2292
2293 * src/m68k/ffi.c (ffi_prep_incoming_args_SYSV,
2294 ffi_closure_SYSV_inner,ffi_prep_closure): New, add closure support.
2295 * src/m68k/sysv.S(ffi_closure_SYSV,ffi_closure_struct_SYSV): Likewise.
2296 * src/m68k/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
2297 (FFI_CLOSURES): Enable closure support.
2298
22992007-05-10 Roman Zippel <zippel@linux-m68k.org>
2300
2301 * configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test.
2302 * configure: Regenerate.
2303 * fficonfig.h.in: Regenerate.
2304 * src/m68k/sysv.S (CFI_STARTPROC,CFI_ENDPROC,
2305 CFI_OFFSET,CFI_DEF_CFA): New macros.
2306 (ffi_call_SYSV): Add callframe annotation.
2307
23082007-05-10 Roman Zippel <zippel@linux-m68k.org>
2309
2310 * src/m68k/ffi.c (ffi_prep_args,ffi_prep_cif_machdep): Fix
2311 numerous test suite failures.
2312 * src/m68k/sysv.S (ffi_call_SYSV): Likewise.
2313
23142007-04-11 Paolo Bonzini <bonzini@gnu.org>
2315
2316 * Makefile.am (EXTRA_DIST): Bring up to date.
2317 * Makefile.in: Regenerate.
2318 * src/frv/eabi.S: Remove RCS keyword.
2319
23202007-04-06 Richard Henderson <rth@redhat.com>
2321
2322 * configure.ac: Tidy target case.
2323 (HAVE_LONG_DOUBLE): Allow the target to override.
2324 * configure: Regenerate.
2325 * include/ffi.h.in: Don't define ffi_type_foo if
2326 LIBFFI_HIDE_BASIC_TYPES is defined.
2327 (ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
2328 to ffi_type_double.
2329 * types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
2330 (FFI_TYPEDEF, ffi_type_void): Mark the data const.
2331 (ffi_type_longdouble): Special case for Alpha. Don't define
2332 if long double == double.
2333
2334 * src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
2335 (ffi_prep_cif_machdep): Handle it as the 128-bit type.
2336 (ffi_call, ffi_closure_osf_inner): Likewise.
2337 (ffi_closure_osf_inner): Likewise. Mark hidden.
2338 (ffi_call_osf, ffi_closure_osf): Mark hidden.
2339 * src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
2340 * src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
2341 (load_table): Handle 128-bit long double.
2342
2343 * testsuite/libffi.call/float4.c: Add -mieee for alpha.
2344
23452007-04-06 Tom Tromey <tromey@redhat.com>
2346
2347 PR libffi/31491:
2348 * README: Fixed bug in example.
2349
23502007-04-03 Jakub Jelinek <jakub@redhat.com>
2351
2352 * src/closures.c: Include sys/statfs.h.
2353 (_GNU_SOURCE): Define on Linux.
2354 (FFI_MMAP_EXEC_SELINUX): Define.
2355 (selinux_enabled): New variable.
2356 (selinux_enabled_check): New function.
2357 (is_selinux_enabled): Define.
2358 (dlmmap): Use it.
2359
23602007-03-24 Uros Bizjak <ubizjak@gmail.com>
2361
2362 * testsuite/libffi.call/return_fl2.c (return_fl): Mark as static.
2363 Use 'volatile float sum' to create sum of floats to avoid false
2364 negative due to excess precision on ix86 targets.
Anthony Green0cfe60e2009-12-29 10:06:04 -05002365 (main): Ditto.
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002366
23672007-03-08 Alexandre Oliva <aoliva@redhat.com>
2368
2369 * src/powerpc/ffi.c (flush_icache): Fix left-over from previous
2370 patch.
2371 (ffi_prep_closure_loc): Remove unneeded casts. Add needed ones.
2372
23732007-03-07 Alexandre Oliva <aoliva@redhat.com>
2374
2375 * include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
2376 (ffi_prep_closure_loc): New.
2377 (ffi_prep_raw_closure_loc): New.
2378 (ffi_prep_java_raw_closure_loc): New.
2379 * src/closures.c: New file.
2380 * src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
2381 Replace sflags with exec_offset.
2382 [FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
2383 sub_segment_exec_offset): New macros.
2384 (get_segment_flags, set_segment_flags, check_segment_merge): New
2385 macros.
2386 (is_mmapped_segment, is_extern_segment): Use get_segment_flags.
2387 (add_segment, sys_alloc, create_mspace, create_mspace_with_base,
2388 destroy_mspace): Use new macros.
2389 (sys_alloc): Silence warning.
2390 * Makefile.am (libffi_la_SOURCES): Add src/closures.c.
2391 * Makefile.in: Rebuilt.
2392 * src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
2393 terms of ffi_prep_closure_loc.
2394 * src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
2395 from...
2396 (ffi_prep_raw_closure): ... this. Re-implement in terms of the
2397 renamed version.
2398 * src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
2399 adjusted from...
2400 (ffi_prep_java_raw_closure): ... this. Re-implement in terms of
2401 the renamed version.
2402 * src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
2403 (ffi_prep_closure): ... this.
2404 * src/pa/ffi.c: Likewise.
2405 * src/cris/ffi.c: Likewise. Adjust.
2406 * src/frv/ffi.c: Likewise.
2407 * src/ia64/ffi.c: Likewise.
2408 * src/mips/ffi.c: Likewise.
2409 * src/powerpc/ffi_darwin.c: Likewise.
2410 * src/s390/ffi.c: Likewise.
2411 * src/sh/ffi.c: Likewise.
2412 * src/sh64/ffi.c: Likewise.
2413 * src/sparc/ffi.c: Likewise.
2414 * src/x86/ffi64.c: Likewise.
2415 * src/x86/ffi.c: Likewise.
2416 (FFI_INIT_TRAMPOLINE): Adjust.
2417 (ffi_prep_raw_closure_loc): Renamed and adjusted from...
2418 (ffi_prep_raw_closure): ... this.
2419 * src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
2420 (ffi_prep_closure): ... this.
2421 (flush_icache): Adjust.
2422
24232007-03-07 Alexandre Oliva <aoliva@redhat.com>
2424
2425 * src/dlmalloc.c: New file, imported version 2.8.3 of Doug
2426 Lea's malloc.
2427
24282007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
2429
2430 * Makefile.am: Add dummy install-pdf target.
2431 * Makefile.in: Regenerate
2432
24332007-02-13 Andreas Krebbel <krebbel1@de.ibm.com>
2434
2435 * src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep,
2436 ffi_closure_helper_SYSV): Add long double handling.
2437
24382007-02-02 Jakub Jelinek <jakub@redhat.com>
2439
2440 * src/powerpc/linux64.S (ffi_call_LINUX64): Move restore of r2
2441 immediately after bctrl instruction.
2442
24432007-01-18 Alexandre Oliva <aoliva@redhat.com>
2444
2445 * Makefile.am (all-recursive, install-recursive,
2446 mostlyclean-recursive, clean-recursive, distclean-recursive,
2447 maintainer-clean-recursive): Add missing targets.
2448 * Makefile.in: Rebuilt.
2449
24502006-12-14 Andreas Tobler <a.tobler@schweiz.org>
2451
2452 * configure.ac: Add TARGET for x86_64-*-darwin*.
2453 * Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
2454 for X86_DARWIN.
2455 * src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
2456 * src/x86/darwin64.S: New file for x86_64-*-darwin* support.
2457 * configure: Regenerate.
2458 * Makefile.in: Regenerate.
2459 * include/Makefile.in: Regenerate.
2460 * testsuite/Makefile.in: Regenerate.
2461 * testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
2462 ffi_call only.
2463
24642006-12-13 Andreas Tobler <a.tobler@schweiz.org>
2465
2466 * aclocal.m4: Regenerate with aclocal -I .. as written in the
2467 Makefile.am.
2468
24692006-10-31 Geoffrey Keating <geoffk@apple.com>
2470
2471 * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
2472 (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
2473 Darwin.
2474 * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
2475 * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
2476
24772006-10-10 Paolo Bonzini <bonzini@gnu.org>
2478 Sandro Tolaini <tolaini@libero.it>
2479
Anthony Green0cfe60e2009-12-29 10:06:04 -05002480 * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
Anthony Greenc6dddbd2009-10-04 08:11:33 -04002481 conditional.
2482 * configure: Regenerated.
2483 * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
2484 (EXTRA_DIST): Add src/x86/darwin.S.
2485 * Makefile.in: Regenerated.
2486 * include/Makefile.in: Regenerated.
2487 * testsuite/Makefile.in: Regenerated.
2488
2489 * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
2490 X86_WIN32, and additionally align stack to 16 bytes.
2491 * src/x86/darwin.S: New, based on sysv.S.
2492 * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
2493
24942006-09-12 David Daney <ddaney@avtrex.com>
2495
2496 PR libffi/23935
2497 * include/Makefile.am: Install both ffi.h and ffitarget.h in
2498 $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
2499 * aclocal.m4: Regenerated for automake 1.9.6.
2500 * Makefile.in: Regenerated.
2501 * include/Makefile.in: Regenerated.
2502 * testsuite/Makefile.in: Regenerated.
2503
25042006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
2505
2506 * include/ffi_common.h (struct): Revert accidental commit.
2507
25082006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
2509
2510 * include/ffi_common.h: Remove lint directives.
2511 * include/ffi.h.in: Likewise.
2512
25132006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
2514
2515 * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
2516 for 32-bit architectures.
2517 * testsuite/libffi.call/return_ul.c: New test case.
2518
25192006-07-19 David Daney <ddaney@avtrex.com>
2520
2521 * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
2522 xfail remains for mips64.
2523
25242006-05-23 Carlos O'Donell <carlos@codesourcery.com>
2525
2526 * Makefile.am: Add install-html target. Add install-html to .PHONY
2527 * Makefile.in: Regenerate.
2528 * aclocal.m4: Regenerate.
2529 * include/Makefile.in: Regenerate.
2530 * testsuite/Makefile.in: Regenerate.
2531
25322006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2533
2534 * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
2535 stack slot.
2536
25372006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
2538
2539 * README: Remove notice about 'Crazy Comments'.
2540 * src/debug.c: Remove lint directives. Cleanup white spaces.
2541 * src/java_raw_api.c: Likewise.
2542 * src/prep_cif.c: Likewise.
2543 * src/raw_api.c: Likewise.
2544 * src/ffitest.c: Delete. No longer needed, all test cases migrated
2545 to the testsuite.
2546 * src/arm/ffi.c: Remove lint directives.
2547 * src/m32r/ffi.c: Likewise.
2548 * src/pa/ffi.c: Likewise.
2549 * src/powerpc/ffi.c: Likewise.
2550 * src/powerpc/ffi_darwin.c: Likewise.
2551 * src/sh/ffi.c: Likewise.
2552 * src/sh64/ffi.c: Likewise.
2553 * src/x86/ffi.c: Likewise.
2554 * testsuite/libffi.call/float2.c: Likewise.
2555 * testsuite/libffi.call/promotion.c: Likewise.
2556 * testsuite/libffi.call/struct1.c: Likewise.
2557
25582006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
2559
2560 * src/pa/hpux32.S: Correct unwind offset calculation for
2561 ffi_closure_pa32.
2562 * src/pa/linux.S: Likewise.
2563
25642006-04-12 James E Wilson <wilson@specifix.com>
2565
2566 PR libgcj/26483
2567 * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
2568 (hfa_type_load): Call stf_spill.
2569 (hfa_type_store): Call ldf_fill.
2570 (ffi_call): Adjust calls to above routines. Add local temps for
2571 macro result.
2572
25732006-04-10 Matthias Klose <doko@debian.org>
2574
2575 * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
2576 directory names containing underscores.
2577
25782006-04-07 James E Wilson <wilson@specifix.com>
2579
2580 * testsuite/libffi.call/float4.c: New testcase.
2581
25822006-04-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2583 Andreas Tobler <a.tobler@schweiz.ch>
2584
2585 * Makefile.am: Add PA_HPUX port.
2586 * Makefile.in: Regenerate.
2587 * include/Makefile.in: Likewise.
2588 * testsuite/Makefile.in: Likewise.
2589 * configure.ac: Add PA_HPUX rules.
2590 * configure: Regenerate.
2591 * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
2592 Add PA_HPUX and PA64_HPUX.
2593 Rename FFI_LINUX ABI to FFI_PA32 ABI.
2594 (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
2595 (FFI_TYPE_SMALL_STRUCT2): Define.
2596 (FFI_TYPE_SMALL_STRUCT4): Likewise.
2597 (FFI_TYPE_SMALL_STRUCT8): Likewise.
2598 (FFI_TYPE_SMALL_STRUCT3): Redefine.
2599 (FFI_TYPE_SMALL_STRUCT5): Likewise.
2600 (FFI_TYPE_SMALL_STRUCT6): Likewise.
2601 (FFI_TYPE_SMALL_STRUCT7): Likewise.
2602 * src/pa/ffi.c (ROUND_DOWN): Delete.
2603 (fldw, fstw, fldd, fstd): Use '__asm__'.
2604 (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
2605 FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
2606 (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
2607 Simplify incrementing of stack slot variable. Change type of local
2608 'n' to unsigned int.
2609 (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
2610 double on PA_HPUX.
2611 (ffi_prep_cif_machdep): Likewise.
2612 (ffi_call): Likewise.
2613 (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
2614 return type to ffi_status. Simplify incrementing of stack slot
2615 variable. Only copy floating point argument registers when PA_LINUX
2616 is true. Reformat debug statement.
2617 Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
2618 FFI_TYPE_SMALL_STRUCT8.
2619 (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
2620 declaration.
2621 (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
2622 Add nops to cache flush. Add trampoline for PA_HPUX.
2623 * src/pa/hpux32.S: New file.
2624 * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
2625 ffi_prep_args_LINUX to ffi_prep_args_pa32.
2626 Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
2627 unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
2628 argument type checks so that common argument types appear first.
2629 (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
2630 ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
2631
26322006-03-24 Alan Modra <amodra@bigpond.net.au>
2633
2634 * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
2635 for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
2636 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
2637 FFI_TYPE_LONGDOUBLE.
2638 (ffi_prep_args64): Assert using IBM extended double.
2639 (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
2640 Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
2641 (ffi_call): Handle FFI_LINUX.
2642 (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
2643 gpr3 return pointer as for struct return. Handle FFI_LINUX
2644 FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
2645 unnecessarily.
2646 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
2647 for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
2648 Don't use r6 as pointer to results, instead use sp offset. Don't
2649 make a special call to load lr with case table address, instead
2650 use offset from previous call.
2651 * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
2652 * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
2653 return.
2654
26552006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
2656
2657 * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
2658 passed with FP registers correctly.
2659 (ffi_closure_helper_SYSV): Likewise.
2660 * src/sh64/sysv.S: Likewise.
2661
26622006-03-01 Andreas Tobler <a.tobler@schweiz.ch>
2663
2664 * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
2665 args and userdata unused.
2666 (closure_test_fn1): Mark cif and userdata unused.
2667 (main): Remove unused res.
2668
26692006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
2670
2671 * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
2672 -O2, -O3, -Os and the warning flags -W -Wall.
2673 * testsuite/libffi.special/special.exp: Likewise.
2674 * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
2675 unused parameter unused for gcc or else do nothing.
2676 * testsuite/libffi.special/ffitestcxx.h: Likewise.
2677 * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
2678 and userdata unused.
2679 * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
2680 * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
2681 * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
2682 * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
2683 * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
2684 * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
2685 * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
2686 * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
2687 * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
2688 * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
2689 * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
2690 * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
2691 * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
2692 * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
2693 * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
2694 * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
2695 * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
2696 * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
2697 * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
2698 * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
2699 * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
2700 * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
2701 * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
2702 * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
2703 Likewise.
2704 * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
2705 Likewise.
2706 * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
2707 Likewise.
2708 * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
2709 void* to avoid compiler warning.
2710 (main): Likewise.
2711 (cls_struct_align_gn): Mark cif and userdata unused.
2712 * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
2713 Likewise.
2714 * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
2715 Likewise.
2716 * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
2717 Likewise.
2718 * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
2719 Likewise.
2720 * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
2721 Likewise.
2722 * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
2723 * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
2724 * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
2725 data unused.
2726 (main): Cast res_call to silence gcc.
2727 * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
2728 data unused.
2729 (main): Cast res_call to silence gcc.
2730 * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
2731 and data unused.
2732 (main): Cast res_call to silence gcc.
2733 * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
2734 data unused.
2735 (main): Cast res_call to silence gcc.
2736 * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
2737 data unused.
2738 (main): Cast res_call to silence gcc.
2739 * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
2740 and data unused.
2741 (main): Cast res_call to silence gcc.
2742 * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
2743 userdata unused.
2744 (cls_ret_schar_fn): Cast printf parameter to silence gcc.
2745 * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
2746 userdata unused.
2747 (cls_ret_sint_fn): Cast printf parameter to silence gcc.
2748 * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
2749 userdata unused.
2750 (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
2751 * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
2752 userdata unused.
2753 (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
2754 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
2755 userdata unused.
2756 (cls_ret_uint_fn): Cast printf parameter to silence gcc.
2757 * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
2758 and userdata unused.
2759 * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
2760 userdata unused.
2761 (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
2762 * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
2763 * testsuite/libffi.call/float1.c (main): Remove unused variable i.
2764 Cleanup white spaces.
2765 * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
2766 * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
2767 cif and userdata unused.
2768 * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
2769 Likewise.
2770 * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
2771 * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
2772 formatters to silence gcc.
2773 (B_gn): Mark cif and userdata unused.
2774 * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
2775 unused.
2776 * testsuite/libffi.call/nested_struct4.c: Mention related PR.
2777 (B_gn): Mark cif and userdata unused.
2778 * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
2779 unused.
2780 * testsuite/libffi.call/nested_struct6.c: Mention related PR.
2781 (B_gn): Mark cif and userdata unused.
2782 * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
2783 unused.
2784 * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
2785 * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
2786 * testsuite/libffi.call/problem1.c (stub): Likewise.
2787 * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
2788 gcc.
2789 * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
2790 in the last commit for this test case in the test case itself.
2791 * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
2792 unused.
2793 * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
2794 * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
2795 * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
2796 * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
2797 * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
2798 * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
2799
28002006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
2801
2802 * src/sh/sysv.S: Fix register numbers in the FDE for
2803 ffi_closure_SYSV.
2804
28052006-02-20 Andreas Tobler <a.tobler@schweiz.ch>
2806
2807 * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
2808 declaration to avoid a false negative on ix86. See PR323.
2809
28102006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
2811
2812 * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
2813 and cast integer to void * if needed. Update the pointer to
2814 the FP register saved area correctly.
Anthony Green0cfe60e2009-12-29 10:06:04 -05002815
Anthony Greenc6dddbd2009-10-04 08:11:33 -040028162006-02-17 Andreas Tobler <a.tobler@schweiz.ch>
2817
2818 * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
2819 is fixed.
2820 * testsuite/libffi.call/nested_struct4.c: Likewise.
2821
28222006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
2823
2824 * testsuite/libffi.call/return_dbl.c: New test case.
2825 * testsuite/libffi.call/return_dbl1.c: Likewise.
2826 * testsuite/libffi.call/return_dbl2.c: Likewise.
2827 * testsuite/libffi.call/return_fl.c: Likewise.
2828 * testsuite/libffi.call/return_fl1.c: Likewise.
2829 * testsuite/libffi.call/return_fl2.c: Likewise.
2830 * testsuite/libffi.call/return_fl3.c: Likewise.
2831 * testsuite/libffi.call/closure_fn6.c: Likewise.
2832
2833 * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
2834 definition.
2835 * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
2836 here to be used by other test cases too.
2837
2838 * testsuite/libffi.call/nested_struct10.c: New test case.
2839 * testsuite/libffi.call/nested_struct9.c: Likewise.
2840 * testsuite/libffi.call/nested_struct8.c: Likewise.
2841 * testsuite/libffi.call/nested_struct7.c: Likewise.
2842 * testsuite/libffi.call/nested_struct6.c: Likewise.
2843 * testsuite/libffi.call/nested_struct5.c: Likewise.
2844 * testsuite/libffi.call/nested_struct4.c: Likewise.
2845
28462006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
2847
2848 * configure.ac: Enable libffi for sparc64-*-freebsd*.
2849 * configure: Rebuilt.
2850
28512006-01-18 Jakub Jelinek <jakub@redhat.com>
2852
2853 * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
2854 instead do the shifting inline.
2855 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
2856 shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
2857 and 8 byte structs, for the remaining struct sizes don't call
2858 __lshrdi3, instead do the shifting inline.
2859
28602005-12-07 Thiemo Seufer <ths@networkno.de>
2861
2862 * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
2863 missing parentheses.
2864 * src/mips/o32.S (ffi_call_O32): Code formatting. Define
2865 and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
2866 (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
2867 A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
2868 V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
2869 FA_0_0_OFF2.
2870 * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
2871 endianness bugs.
2872 (ffi_prep_closure): Improve trampoline instruction scheduling.
2873 (ffi_closure_mips_inner_O32): Fix endianness bugs.
2874
28752005-12-03 Alan Modra <amodra@bigpond.net.au>
2876
2877 * src/powerpc/ffi.c: Formatting.
2878 (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
2879 (ffi_prep_args64): Likewise.
2880
28812005-09-30 Geoffrey Keating <geoffk@apple.com>
2882
2883 * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
2884 darwin, use -shared-libgcc not -lgcc_s, and explain why.
2885
28862005-09-26 Tom Tromey <tromey@redhat.com>
2887
2888 * testsuite/libffi.call/float1.c (value_type): New typedef.
2889 (CANARY): New define.
2890 (main): Check for result buffer overflow.
2891 * src/powerpc/linux64.S: Handle linux64 long double returns.
2892 * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
2893 (ffi_prep_cif_machdep): Handle linux64 long double returns.
2894
28952005-08-25 Alan Modra <amodra@bigpond.net.au>
2896
2897 PR target/23404
2898 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
2899 homed fp args.
2900 (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
2901
29022005-08-11 Jakub Jelinek <jakub@redhat.com>
2903
2904 * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
2905 (AH_BOTTOM): Add FFI_HIDDEN definition.
2906 * configure: Rebuilt.
2907 * fficonfig.h.in: Rebuilt.
2908 * src/powerpc/ffi.c (hidden): Remove.
2909 (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
2910 ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
2911 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
2912 .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
2913 * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
2914 add FFI_HIDDEN to its prototype.
2915 (ffi_closure_SYSV_inner): New.
2916 * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
2917 * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
2918
29192005-08-10 Alfred M. Szmidt <ams@gnu.org>
2920
2921 PR libffi/21819:
2922 * configure: Rebuilt.
2923 * configure.ac: Handle i*86-*-gnu*.
2924
29252005-08-09 Jakub Jelinek <jakub@redhat.com>
2926
2927 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
2928 DW_CFA_offset_extended_sf rather than
2929 DW_CFA_GNU_negative_offset_extended.
2930 * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
2931
29322005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
2933
2934 * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
2935 on sh3.
2936 (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
2937 * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
2938 partially on register.
2939 (ffi_closure_helper_SYSV): Likewise.
2940 (ffi_prep_cif_machdep): Don't set too many cif->flags.
2941
29422005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
2943
2944 * src/sh/ffi.c (ffi_call): Handle small structures correctly.
2945 Remove empty line.
2946 * src/sh64/ffi.c (simple_type): Remove.
2947 (return_type): Handle small structures correctly.
2948 (ffi_prep_args): Likewise.
2949 (ffi_call): Likewise.
2950 (ffi_closure_helper_SYSV): Likewise.
2951 * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
2952 Emit position independent code if PIC and remove wrong datalabel
2953 prefixes from EH data.
2954
29552005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
2956
2957 * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
2958 * Makefile.in: Regenerate.
2959 * include/Makefile.in: Likewise.
2960 * testsuite/Makefile.in: Likewise.
2961 * configure.ac: Add POWERPC_FREEBSD rules.
2962 * configure: Regenerate.
2963 * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
2964 (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
2965 * src/powerpc/ffi.c: Add flags to handle small structure returns
2966 in ffi_call_SYSV.
2967 (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
2968 Aka FFI_SYSV.
2969 (ffi_closure_helper_SYSV): Likewise.
2970 * src/powerpc/ppc_closure.S: Add return types for small structures.
2971 * src/powerpc/sysv.S: Add bits to handle small structures for
2972 final SYSV 4 ABI.
2973
29742005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
2975
2976 * testsuite/libffi.call/cls_5_1_byte.c: New test file.
2977 * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
2978 * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
2979
29802005-07-05 Randolph Chung <tausq@debian.org>
2981
2982 * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
2983 as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
2984 structures. Kill compilation warnings.
2985 (ffi_closure_inner_LINUX): Print return values as hex in debug
2986 message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
2987 Properly handle 5-7 byte structure returns.
2988 * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
2989 (FFI_TYPE_SMALL_STRUCT2): Remove.
2990 (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
2991 (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
2992 * src/pa/linux.S: Mark source file as using PA1.1 assembly.
2993 (checksmst1, checksmst2): Remove.
2994 (checksmst3): Optimize handling of 3-byte struct returns.
2995 (checksmst567): Properly handle 5-7 byte struct returns.
2996
29972005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2998
2999 PR libgcj/21943
3000 * src/mips/n32.S: Enforce PIC code.
3001 * src/mips/o32.S: Likewise.
3002
30032005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3004
3005 * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
3006 * configure: Regenerate.
Anthony Green0cfe60e2009-12-29 10:06:04 -05003007
Anthony Greenc6dddbd2009-10-04 08:11:33 -040030082005-06-01 Alan Modra <amodra@bigpond.net.au>
3009
3010 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
3011 to call ffi_closure_helper_SYSV. Append @local instead.
3012 * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
3013
30142005-05-17 Kelley Cook <kcook@gcc.gnu.org>
3015
3016 * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
3017 Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
3018 * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
3019 * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
3020 include/Makefile.in, testsuite/Makefile.in: Regenerate.
Anthony Green0cfe60e2009-12-29 10:06:04 -05003021
Anthony Greenc6dddbd2009-10-04 08:11:33 -040030222005-05-09 Mike Stump <mrs@apple.com>
3023
3024 * configure: Regenerate.
3025
30262005-05-08 Richard Henderson <rth@redhat.com>
3027
3028 PR libffi/21285
3029 * src/alpha/osf.S: Update unwind into to match code.
3030
30312005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
3032 Richard Henderson <rth@redhat.com>
3033
3034 * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
3035 bit 11 of flags.
3036 (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
3037 (ffi_prep_closure): Set carry bit if sse-used flag set.
3038 * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
3039 Only load sse registers if ssecount non-zero.
3040 (ffi_closure_unix64): Only save sse registers if carry set on entry.
3041
30422005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
3043
3044 * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
3045 powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
3046 * configure: Regenerate.
3047
30482005-04-20 Hans-Peter Nilsson <hp@axis.com>
3049
3050 * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
3051 have Tcl8.3-compatible intermediate variable.
3052
Anthony Green0cfe60e2009-12-29 10:06:04 -050030532005-04-18 Simon Posnjak <simon.posnjak@siol.net>
Anthony Greenc6dddbd2009-10-04 08:11:33 -04003054 Hans-Peter Nilsson <hp@axis.com>
3055
3056 * Makefile.am: Add CRIS support.
3057 * configure.ac: Likewise.
3058 * Makefile.in, configure, testsuite/Makefile.in,
3059 include/Makefile.in: Regenerate.
3060 * src/cris: New directory.
3061 * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
3062 * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
3063
3064 * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
3065 \r?\n in output tests.
3066
30672005-04-12 Mike Stump <mrs@apple.com>
3068
3069 * configure: Regenerate.
3070
30712005-03-30 Hans Boehm <Hans.Boehm@hp.com>
3072
3073 * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
Anthony Green0cfe60e2009-12-29 10:06:04 -05003074
Anthony Greenc6dddbd2009-10-04 08:11:33 -040030752005-03-30 Steve Ellcey <sje@cup.hp.com>
3076
3077 * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
3078 (ffi_sarg) Ditto.
3079 * src/ia64/unix.S (ffi_closure_unix): Extend gp
3080 to 64 bits in ILP32 mode.
3081 Load 64 bits even for short data.
3082
30832005-03-23 Mike Stump <mrs@apple.com>
3084
3085 * src/powerpc/darwin.S: Update for -m64 multilib.
3086 * src/powerpc/darwin_closure.S: Likewise.
3087
30882005-03-21 Zack Weinberg <zack@codesourcery.com>
3089
3090 * configure.ac: Do not invoke TL_AC_GCC_VERSION.
3091 Do not set tool_include_dir.
3092 * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
3093 Regenerate.
3094 * include/Makefile.am: Set gcc_version and toollibffidir.
3095 * include/Makefile.in: Regenerate.
3096
30972005-02-22 Andrew Haley <aph@redhat.com>
3098
3099 * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
3100 odd-numbered register pairs for 64-bit integer types.
3101
31022005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
3103
3104 PR libffi/20104
3105 * testsuite/libffi.call/return_ll1.c: New test case.
3106
31072005-02-11 Janis Johnson <janis187@us.ibm.com>
3108
3109 * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
3110 * testsuite/libffi.call/float.c: Ditto.
3111 * testsuite/libffi.call/float2.c: Ditto.
3112 * testsuite/libffi.call/float3.c: Ditto.
3113
31142005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
3115
3116 * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
3117
31182005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
3119
3120 * testsuite/libffi.special/special.exp (cxx_options): Add
3121 -shared-libgcc.
3122
31232004-12-31 Richard Henderson <rth@redhat.com>
3124
3125 * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
3126 (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
3127 offset parameters with a type parameter; deduce size and structure
3128 alignment. Update all users.
3129
31302004-12-31 Richard Henderson <rth@redhat.com>
3131
3132 * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
3133 (FFI_TYPE_LONGDOUBLE): Fix for ia64.
3134 * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
3135 into ffi_prep_closure.
3136 * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
3137 from scratch.
3138
31392004-12-27 Richard Henderson <rth@redhat.com>
3140
3141 * src/x86/unix64.S: Fix typo in unwind info.
3142
31432004-12-25 Richard Henderson <rth@redhat.com>
3144
3145 * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
3146 (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
3147 (merge_classes): Check for it.
3148 (SSE_CLASS_P): New.
3149 (classify_argument): Pass byte_offset by value; perform all updates
3150 inside struct case.
3151 (examine_argument): Add classes argument; handle
3152 X86_64_COMPLEX_X87_CLASS.
3153 (ffi_prep_args): Merge into ...
3154 (ffi_call): ... here. Share stack frame with ffi_call_unix64.
3155 (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
3156 (ffi_fill_return_value): Remove.
3157 (ffi_prep_closure): Remove dead assert.
3158 (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
3159 Rewrite to use struct register_args instead of va_list. Create
3160 flags for handling structure returns.
3161 * src/x86/unix64.S: Remove dead strings.
3162 (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
3163 stack frame with ffi_call. Handle structure returns properly.
3164 (float2sse, floatfloat2sse, double2sse): Remove.
3165 (sse2float, sse2double, sse2floatfloat): Remove.
3166 (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
3167 to handle structure returns properly.
3168
31692004-12-08 David Edelsohn <edelsohn@gnu.org>
3170
3171 * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
3172 PICFLAG.
3173 * Makefile.in: Regenerated.
3174
31752004-12-02 Richard Sandiford <rsandifo@redhat.com>
3176
3177 * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
3178 * configure, aclocal.m4, Makefile.in: Regenerate.
3179 * include/Makefile.in, testsuite/Makefile.in: Regenerate.
3180
31812004-11-29 Kelley Cook <kcook@gcc.gnu.org>
3182
3183 * configure: Regenerate for libtool change.
3184
31852004-11-25 Kelley Cook <kcook@gcc.gnu.org>
3186
3187 * configure: Regenerate for libtool reversion.
3188
31892004-11-24 Kelley Cook <kcook@gcc.gnu.org>
3190
3191 * configure: Regenerate for libtool change.
3192
31932004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3194
3195 * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
3196
31972004-11-23 Richard Sandiford <rsandifo@redhat.com>
3198
3199 * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
3200 of jal. Use an absolute encoding for the frame information.
3201
32022004-11-23 Kelley Cook <kcook@gcc.gnu.org>
3203
3204 * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
3205 * acinclude.m4: Delete logic for sincludes.
3206 * aclocal.m4, Makefile.in, configure: Regenerate.
3207 * include/Makefile: Likewise.
3208 * testsuite/Makefile: Likewise.
3209
32102004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
3211
3212 * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
3213 on a 8-byte boundary.
3214 * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
3215
32162004-10-27 Richard Earnshaw <rearnsha@arm.com>
3217
3218 * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
3219 long long values. Round stack allocation to a multiple of 8 bytes
3220 for ATPCS compatibility.
3221 * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
3222 names. Handle returning long long types. Add Thumb and interworking
3223 support. Improve soft-float code.
3224
32252004-10-27 Richard Earnshaw <rearnsha@arm.com>
3226
3227 * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
3228 (libffi_exit): New function.
3229 (libffi_init): Build the testglue wrapper if needed.
3230
32312004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
3232
3233 PR other/18138
3234 * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
3235
32362004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
3237
3238 * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
3239
32402004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
3241
3242 * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
3243 * testsuite/libffi.call/float3.c: New test case.
3244
32452004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
3246
3247 * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
3248 the function returning a structure pointed with R2.
3249 * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
3250 the structure return value if T bit set. Emit position
3251 independent code and EH data if PIC.
3252
32532004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
3254
3255 * Makefile.am: Add m32r support.
3256 * configure.ac: Likewise.
3257 * Makefile.in: Regenerate.
3258 * confiugre: Regenerate.
3259 * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
3260 (uint64, sint64, double, longdouble)
3261 * src/m32r: New directory.
3262 * src/m32r/ffi.c: New file.
3263 * src/m32r/sysv.S: Likewise.
3264 * src/m32r/ffitarget.h: Likewise.
3265
32662004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
3267
3268 * testsuite/libffi.call/negint.c: New test case.
3269
32702004-09-14 H.J. Lu <hongjiu.lu@intel.com>
3271
3272 PR libgcj/17465
3273 * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
3274 Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
3275 LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
3276 DYLD_LIBRARY_PATH.
3277
32782004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
3279
3280 * testsuite/libffi.call/many_win32.c: Remove whitespaces.
3281 * testsuite/libffi.call/promotion.c: Likewise.
3282 * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
3283 whitespaces.
3284 * testsuite/libffi.call/return_sc.c: Likewise.
3285 * testsuite/libffi.call/return_uc.c: Likewise.
3286
32872004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
3288
3289 * src/powerpc/darwin.S: Fix comments and identation.
3290 * src/powerpc/darwin_closure.S: Likewise.
3291
32922004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
3293
3294 * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
3295 (ffi_prep_args): Handle longdouble arguments.
3296 (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
3297 longdouble.
3298 (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
3299 * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
3300 values.
3301 * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
3302 * src/types.c: Defined longdouble size and alignment for darwin.
3303
33042004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
3305
3306 * src/powerpc/aix.S: Remove whitespaces.
3307 * src/powerpc/aix_closure.S: Likewise.
3308 * src/powerpc/asm.h: Likewise.
3309 * src/powerpc/ffi.c: Likewise.
3310 * src/powerpc/ffitarget.h: Likewise.
3311 * src/powerpc/linux64.S: Likewise.
3312 * src/powerpc/linux64_closure.S: Likewise.
3313 * src/powerpc/ppc_closure.S: Likewise.
3314 * src/powerpc/sysv.S: Likewise.
3315
33162004-08-30 Anthony Green <green@redhat.com>
3317
3318 * Makefile.am: Add frv support.
3319 * Makefile.in, testsuite/Makefile.in: Rebuilt.
3320 * configure.ac: Read configure.host.
3321 * configure.in: Read configure.host.
3322 * configure.host: New file. frv-elf needs libgloss.
3323 * include/ffi.h.in: Force ffi_closure to have a nice big (8)
3324 alignment. This is needed to frv and shouldn't harm the others.
3325 * include/ffi_common.h (ALIGN_DOWN): New macro.
3326 * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
3327
33282004-08-24 David Daney <daney@avtrex.com>
3329
3330 * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
3331 * testsuite/libffi.call/closure_fn1.c: Likewise.
3332 * testsuite/libffi.call/closure_fn2.c Likewise.
3333 * testsuite/libffi.call/closure_fn3.c: Likewise.
3334 * testsuite/libffi.call/closure_fn4.c: Likewise.
3335 * testsuite/libffi.call/closure_fn5.c: Likewise.
3336 * testsuite/libffi.call/cls_18byte.c: Likewise.
3337 * testsuite/libffi.call/cls_19byte.c: Likewise.
3338 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
3339 * testsuite/libffi.call/cls_20byte.c: Likewise.
3340 * testsuite/libffi.call/cls_20byte1.c: Likewise.
3341 * testsuite/libffi.call/cls_24byte.c: Likewise.
3342 * testsuite/libffi.call/cls_2byte.c: Likewise.
3343 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
3344 * testsuite/libffi.call/cls_3byte1.c: Likewise.
3345 * testsuite/libffi.call/cls_3byte2.c: Likewise.
3346 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
3347 * testsuite/libffi.call/cls_4byte.c: Likewise.
3348 * testsuite/libffi.call/cls_64byte.c: Likewise.
3349 * testsuite/libffi.call/cls_6byte.c: Likewise.
3350 * testsuite/libffi.call/cls_7byte.c: Likewise.
3351 * testsuite/libffi.call/cls_8byte.c: Likewise.
3352 * testsuite/libffi.call/cls_9byte1.c: Likewise.
3353 * testsuite/libffi.call/cls_9byte2.c: Likewise.
3354 * testsuite/libffi.call/cls_align_double.c: Likewise.
3355 * testsuite/libffi.call/cls_align_float.c: Likewise.
3356 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
3357 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
3358 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
3359 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
3360 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
3361 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
3362 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
3363 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
3364 * testsuite/libffi.call/cls_double.c: Likewise.
3365 * testsuite/libffi.call/cls_float.c: Likewise.
3366 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
3367 * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
3368 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
3369 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
3370 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
3371 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
3372 * testsuite/libffi.call/cls_schar.c: Likewise.
3373 * testsuite/libffi.call/cls_sint.c: Likewise.
3374 * testsuite/libffi.call/cls_sshort.c: Likewise.
3375 * testsuite/libffi.call/cls_uchar.c: Likewise.
3376 * testsuite/libffi.call/cls_uint.c: Likewise.
3377 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
3378 * testsuite/libffi.call/cls_ushort.c: Likewise.
3379 * testsuite/libffi.call/nested_struct.c: Likewise.
3380 * testsuite/libffi.call/nested_struct1.c: Likewise.
3381 * testsuite/libffi.call/nested_struct2.c: Likewise.
3382 * testsuite/libffi.call/nested_struct3.c: Likewise.
3383 * testsuite/libffi.call/problem1.c: Likewise.
3384 * testsuite/libffi.special/unwindtest.cc: Likewise.
3385 * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
3386 to zero.
3387 * testsuite/libffi.call/cls_16byte.c: Likewise.
3388 * testsuite/libffi.call/cls_5byte.c: Likewise.
3389
33902004-08-23 David Daney <daney@avtrex.com>
3391
3392 PR libgcj/13141
3393 * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
3394 * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
3395 (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
3396 parameters and return types.
3397 (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
3398 (ffi_prep_closure): Ditto.
3399 (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
3400 alignment calculations.
3401 * src/mips/o32.S (ffi_closure_O32): Don't use floating point
3402 instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
3403
34042004-08-14 Casey Marshall <csm@gnu.org>
3405
3406 * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
3407 contain `FFI_TYPE_UINT64' as return type for any 64-bit
3408 integer (O32 ABI only).
3409 (ffi_prep_closure): new function.
3410 (ffi_closure_mips_inner_O32): new function.
3411 * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
3412 `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
3413 * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
3414 64 bit integers correctly.
3415 (ffi_closure_O32): new function.
3416 Added DWARF-2 unwind info for both functions.
3417
34182004-08-10 Andrew Haley <aph@redhat.com>
3419
3420 * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
3421
34222004-08-01 Robert Millan <robertmh@gnu.org>
3423
3424 * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
3425 * configure: Regenerate.
3426
34272004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
3428
3429 * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
3430 and mmap() explicitly instead of relying on preset autoconf cache
3431 variables.
3432 * aclocal.m4: Regenerate.
3433 * configure: Regenerate.
3434
34352004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
3436
3437 * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
3438 (ffi_check_float_struct): Remove unused prototype.
3439
34402004-06-30 Geoffrey Keating <geoffk@apple.com>
3441
3442 * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
3443 character on Darwin, use '\n\t' instead.
3444
34452004-06-26 Matthias Klose <doko@debian.org>
3446
3447 * libtool-version: Fix typo in revision/age.
3448
34492004-06-17 Matthias Klose <doko@debian.org>
3450
3451 * libtool-version: New.
3452 * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
3453 * Makefile.in: Regenerate.
3454
34552004-06-15 Paolo Bonzini <bonzini@gnu.org>
3456
3457 * Makefile.am: Remove useless multilib rules.
3458 * Makefile.in: Regenerate.
3459 * aclocal.m4: Regenerate with automake 1.8.5.
3460 * configure.ac: Remove useless multilib configury.
3461 * configure: Regenerate.
3462
34632004-06-15 Paolo Bonzini <bonzini@gnu.org>
3464
3465 * .cvsignore: New file.
3466
34672004-06-10 Jakub Jelinek <jakub@redhat.com>
3468
3469 * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
3470 fp_done.
3471 (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
3472 changed from 8.
3473
34742004-06-06 Sean McNeil <sean@mcneil.com>
3475
3476 * configure.ac: Add x86_64-*-freebsd* support.
3477 * configure: Regenerate.
3478
34792004-04-26 Joe Buck <jbuck@welsh-buck.org>
3480
3481 Bug 15093
3482 * configure.ac: Test for existence of mmap and sys/mman.h before
3483 checking blacklist. Fix suggested by Jim Wilson.
3484 * configure: Regenerate.
3485
34862004-04-26 Matt Austern <austern@apple.com>
3487
3488 * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
3489 FDE location.
3490 * src/powerpc/darwin_closure.S: Likewise.
3491
34922004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
3493
3494 * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
3495 error. Reported by Thomas Heller <theller@python.net>.
3496 * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
3497 * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
3498
34992004-03-20 Matthias Klose <doko@debian.org>
3500
3501 * src/pa/linux.S: Fix typo.
3502
35032004-03-19 Matthias Klose <doko@debian.org>
3504
3505 * Makefile.am: Update.
3506 * Makefile.in: Regenerate.
3507 * src/pa/ffi.h.in: Remove.
3508 * src/pa/ffitarget.h: New file.
3509
35102004-02-10 Randolph Chung <tausq@debian.org>
3511
3512 * Makefile.am: Add PA support.
3513 * Makefile.in: Regenerate.
3514 * include/Makefile.in: Regenerate.
3515 * configure.ac: Add PA target.
3516 * configure: Regenerate.
3517 * src/pa/ffi.c: New file.
3518 * src/pa/ffi.h.in: Add PA support.
3519 * src/pa/linux.S: New file.
3520 * prep_cif.c: Add PA support.
3521
35222004-03-16 Hosaka Yuji <hos@tamanegi.org>
3523
3524 * src/types.c: Fix alignment size of X86_WIN32 case int64 and
3525 double.
3526 * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
3527 with ecif->cif->flags.
3528 (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
3529 with cif->flags.
3530 (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
3531 (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
3532 * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
3533 sc_retstruct2b): Add for 1 or 2-bytes struct case.
3534
35352004-03-15 Kelley Cook <kcook@gcc.gnu.org>
3536
3537 * configure.in: Rename file to ...
3538 * configure.ac: ... this.
3539 * fficonfig.h.in: Regenerate.
3540 * Makefile.in: Regenerate.
3541 * include/Makefile.in: Regenerate.
3542 * testsuite/Makefile.in: Regenerate.
3543
35442004-03-12 Matt Austern <austern@apple.com>
3545
3546 * src/powerpc/darwin.S: Fix EH information so it corresponds to
3547 changes in EH format resulting from addition of linkonce support.
3548 * src/powerpc/darwin_closure.S: Likewise.
3549
35502004-03-11 Andreas Tobler <a.tobler@schweiz.ch>
3551 Paolo Bonzini <bonzini@gnu.org>
3552
3553 * Makefile.am (AUTOMAKE_OPTIONS): Set them.
3554 Remove VPATH. Remove rules for object files. Remove multilib support.
3555 (AM_CCASFLAGS): Add.
3556 * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
3557 (AC_PREREQ): Bump version to 2.59.
3558 (AC_INIT): Fill with version info and bug address.
3559 (ORIGINAL_LD_FOR_MULTILIBS): Remove.
3560 (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
3561 De-precious CC so that the right flags are passed down to multilibs.
3562 (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
3563 (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
3564 (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
3565 * configure: Rebuilt.
3566 * aclocal.m4: Likewise.
3567 * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
3568 * fficonfig.h.in: Likewise.
3569
35702004-03-11 Andreas Schwab <schwab@suse.de>
3571
3572 * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
3573 arguments from fp registers only for the first 8 parameter slots.
3574 Don't convert a float parameter when passed in memory.
3575
35762004-03-09 Hans-Peter Nilsson <hp@axis.com>
3577
3578 * configure: Regenerate for config/accross.m4 correction.
3579
35802004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
3581
3582 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
3583 ecif->cif->bytes to bytes.
3584 (ffi_prep_cif_machdep): Add braces around nested if statement.
3585
35862004-02-09 Alan Modra <amodra@bigpond.net.au>
3587
3588 * src/types.c (pointer): POWERPC64 has 8 byte pointers.
3589
3590 * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
3591 (ffi_closure_helper_LINUX64): Fix typo.
3592 * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
3593 for powerpc64-*-*.
3594 * testsuite/libffi.call/float.c: Likewise.
3595 * testsuite/libffi.call/float2.c: Likewise.
3596
35972004-02-08 Alan Modra <amodra@bigpond.net.au>
3598
3599 * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
3600 long double function return and long double arg handling.
3601 (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
3602 Use "end_pfr" instead of "nf". Correct long double handling.
3603 Localise "temp".
3604 * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
3605 return value.
3606 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
3607 space for long double return value. Adjust stack frame and offsets.
3608 Load f2 long double return.
3609
36102004-02-07 Alan Modra <amodra@bigpond.net.au>
3611
3612 * src/types.c: Use 16 byte long double for POWERPC64.
3613
36142004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
3615
3616 * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
3617 when the structure return address is passed in %o0.
3618 (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
3619 (ffi_v9_layout_struct): Align the field following a nested structure
3620 on a word boundary. Use memmove instead of memcpy.
3621 (ffi_call): Update call to ffi_V9_return_struct.
3622 (ffi_prep_closure): Define 'ctx' only for V8.
3623 (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
3624 and ffi_closure_sparc_inner_v9.
3625 (ffi_closure_sparc_inner_v8): Return long doubles by reference.
3626 Always skip the structure return address. For structures and long
3627 doubles, copy the argument directly.
3628 (ffi_closure_sparc_inner_v9): Skip the structure return address only
3629 if required. Shift the maximum floating-point slot accordingly. For
3630 big structures, copy the argument directly; otherwise, left-justify the
3631 argument and call ffi_v9_layout_struct to lay out the structure on
3632 the stack.
3633 * src/sparc/v8.S: Undef STACKFRAME before defining it.
3634 (ffi_closure_v8): Pass the structure return address. Update call to
3635 ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
3636 Skip the 'unimp' insn when returning long doubles and structures.
3637 * src/sparc/v9.S: Undef STACKFRAME before defining it.
3638 (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
3639 FFI_TYPE_INT handling. Load structures both in integers and
3640 floating-point registers on return.
3641 * README: Update status of the SPARC port.
3642
36432004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
3644
3645 * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
3646 as of type ffi_arg.
3647 * testsuite/libffi.call/struct3.c (main): Fix CHECK.
3648
36492004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
3650
3651 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
3652 value as of type ffi_arg, not unsigned int.
3653
36542004-01-21 Michael Ritzert <ritzert@t-online.de>
3655
3656 * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
3657 of the LHS.
3658
36592004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
3660
3661 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
3662 Solaris.
3663
36642004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3665
3666 * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
3667 to void *.
3668
36692003-12-10 Richard Henderson <rth@redhat.com>
3670
3671 * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
3672 size_t instead of int.
3673
36742003-12-04 Hosaka Yuji <hos@tamanegi.org>
3675
3676 * testsuite/libffi.call/many_win32.c: Include <float.h>.
3677 * testsuite/libffi.call/many_win32.c (main): Replace variable
3678 int i with unsigned long ul.
3679
3680 * testsuite/libffi.call/cls_align_uint64.c: New test case.
3681 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
3682 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
3683 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
3684 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
3685 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
3686 * testsuite/libffi.call/cls_align_float.c: Likewise.
3687 * testsuite/libffi.call/cls_align_double.c: Likewise.
3688 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
3689 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
3690
36912003-12-02 Hosaka Yuji <hos@tamanegi.org>
3692
3693 PR other/13221
3694 * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
3695 Align arguments to 32 bits.
3696
36972003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
3698
3699 PR other/13221
3700 * testsuite/libffi.call/cls_multi_sshort.c: New test case.
3701 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
3702 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
3703 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
3704 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
3705 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
3706
3707 * testsuite/libffi.special/unwindtest.cc: Cosmetics.
3708
37092003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3710
3711 * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
3712 * testsuite/libffi.special/ffitestcxx.h: Likewise.
3713
37142003-11-22 Andreas Tobler <a.tobler@schweiz.ch>
3715
3716 * Makefile.in: Rebuilt.
3717 * configure: Likewise.
3718 * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
3719 the right type.
3720
37212003-11-21 Andreas Jaeger <aj@suse.de>
3722 Andreas Tobler <a.tobler@schweiz.ch>
3723
3724 * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
3725 * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
3726 * Makefile.in: Rebuilt.
3727 * aclocal.m4: Likewise.
3728 * configure: Likewise.
3729 * fficonfig.h.in: Likewise.
3730 * testsuite/lib/libffi-dg.exp: Add include dir.
3731 * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
3732 * testsuite/libffi.special/ffitestcxx.h: Likewise.
3733 * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
3734 for ffi_closure if available.
3735 * testsuite/libffi.call/closure_fn1.c: Likewise.
3736 * testsuite/libffi.call/closure_fn2.c: Likewise.
3737 * testsuite/libffi.call/closure_fn3.c: Likewise.
3738 * testsuite/libffi.call/closure_fn4.c: Likewise.
3739 * testsuite/libffi.call/closure_fn5.c: Likewise.
3740 * testsuite/libffi.call/cls_12byte.c: Likewise.
3741 * testsuite/libffi.call/cls_16byte.c: Likewise.
3742 * testsuite/libffi.call/cls_18byte.c: Likewise.
3743 * testsuite/libffi.call/cls_19byte.c: Likewise.
3744 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
3745 * testsuite/libffi.call/cls_20byte.c: Likewise.
3746 * testsuite/libffi.call/cls_20byte1.c: Likewise.
3747 * testsuite/libffi.call/cls_24byte.c: Likewise.
3748 * testsuite/libffi.call/cls_2byte.c: Likewise.
3749 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
3750 * testsuite/libffi.call/cls_3byte1.c: Likewise.
3751 * testsuite/libffi.call/cls_3byte2.c: Likewise.
3752 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
3753 * testsuite/libffi.call/cls_4byte.c: Likewise.
3754 * testsuite/libffi.call/cls_5byte.c: Likewise.
3755 * testsuite/libffi.call/cls_64byte.c: Likewise.
3756 * testsuite/libffi.call/cls_6byte.c: Likewise.
3757 * testsuite/libffi.call/cls_7byte.c: Likewise.
3758 * testsuite/libffi.call/cls_8byte.c: Likewise.
3759 * testsuite/libffi.call/cls_9byte1.c: Likewise.
3760 * testsuite/libffi.call/cls_9byte2.c: Likewise.
3761 * testsuite/libffi.call/cls_double.c: Likewise.
3762 * testsuite/libffi.call/cls_float.c: Likewise.
3763 * testsuite/libffi.call/cls_schar.c: Likewise.
3764 * testsuite/libffi.call/cls_sint.c: Likewise.
3765 * testsuite/libffi.call/cls_sshort.c: Likewise.
3766 * testsuite/libffi.call/cls_uchar.c: Likewise.
3767 * testsuite/libffi.call/cls_uint.c: Likewise.
3768 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
3769 * testsuite/libffi.call/cls_ushort.c: Likewise.
3770 * testsuite/libffi.call/nested_struct.c: Likewise.
3771 * testsuite/libffi.call/nested_struct1.c: Likewise.
3772 * testsuite/libffi.call/nested_struct2.c: Likewise.
3773 * testsuite/libffi.call/nested_struct3.c: Likewise.
3774 * testsuite/libffi.call/problem1.c: Likewise.
3775 * testsuite/libffi.special/unwindtest.cc: Likewise.
3776
37772003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
3778
3779 * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
3780
37812003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
3782
3783 * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
3784 Add -lgcc_s to additional flags.
3785
37862003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
3787
3788 * configure.in, include/Makefile.am: PR libgcj/11147, install
3789 the ffitarget.h header file in a gcc versioned and target
3790 dependent place.
3791 * configure: Regenerated.
3792 * Makefile.in, include/Makefile.in: Likewise.
3793 * testsuite/Makefile.in: Likewise.
3794
37952003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
3796
3797 * testsuite/libffi.call/closure_fn0.c: Print result and check
3798 with dg-output to make debugging easier.
3799 * testsuite/libffi.call/closure_fn1.c: Likewise.
3800 * testsuite/libffi.call/closure_fn2.c: Likewise.
3801 * testsuite/libffi.call/closure_fn3.c: Likewise.
3802 * testsuite/libffi.call/closure_fn4.c: Likewise.
3803 * testsuite/libffi.call/closure_fn5.c: Likewise.
3804 * testsuite/libffi.call/cls_12byte.c: Likewise.
3805 * testsuite/libffi.call/cls_16byte.c: Likewise.
3806 * testsuite/libffi.call/cls_18byte.c: Likewise.
3807 * testsuite/libffi.call/cls_19byte.c: Likewise.
3808 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
3809 * testsuite/libffi.call/cls_20byte.c: Likewise.
3810 * testsuite/libffi.call/cls_20byte1.c: Likewise.
3811 * testsuite/libffi.call/cls_24byte.c: Likewise.
3812 * testsuite/libffi.call/cls_2byte.c: Likewise.
3813 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
3814 * testsuite/libffi.call/cls_3byte1.c: Likewise.
3815 * testsuite/libffi.call/cls_3byte2.c: Likewise.
3816 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
3817 * testsuite/libffi.call/cls_4byte.c: Likewise.
3818 * testsuite/libffi.call/cls_5byte.c: Likewise.
3819 * testsuite/libffi.call/cls_64byte.c: Likewise.
3820 * testsuite/libffi.call/cls_6byte.c: Likewise.
3821 * testsuite/libffi.call/cls_7byte.c: Likewise.
3822 * testsuite/libffi.call/cls_8byte.c: Likewise.
3823 * testsuite/libffi.call/cls_9byte1.c: Likewise.
3824 * testsuite/libffi.call/cls_9byte2.c: Likewise.
3825 * testsuite/libffi.call/cls_double.c: Likewise.
3826 * testsuite/libffi.call/cls_float.c: Likewise.
3827 * testsuite/libffi.call/cls_schar.c: Likewise.
3828 * testsuite/libffi.call/cls_sint.c: Likewise.
3829 * testsuite/libffi.call/cls_sshort.c: Likewise.
3830 * testsuite/libffi.call/cls_uchar.c: Likewise.
3831 * testsuite/libffi.call/cls_uint.c: Likewise.
3832 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
3833 * testsuite/libffi.call/cls_ushort.c: Likewise.
3834 * testsuite/libffi.call/problem1.c: Likewise.
3835
3836 * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
3837 static.
3838
38392003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
3840
3841 * testsuite/libffi.call/cls_9byte2.c: New test case.
3842 * testsuite/libffi.call/cls_9byte1.c: Likewise.
3843 * testsuite/libffi.call/cls_64byte.c: Likewise.
3844 * testsuite/libffi.call/cls_20byte1.c: Likewise.
3845 * testsuite/libffi.call/cls_19byte.c: Likewise.
3846 * testsuite/libffi.call/cls_18byte.c: Likewise.
3847 * testsuite/libffi.call/closure_fn4.c: Likewise.
3848 * testsuite/libffi.call/closure_fn5.c: Likewise.
3849 * testsuite/libffi.call/cls_schar.c: Likewise.
3850 * testsuite/libffi.call/cls_sint.c: Likewise.
3851 * testsuite/libffi.call/cls_sshort.c: Likewise.
3852 * testsuite/libffi.call/nested_struct2.c: Likewise.
3853 * testsuite/libffi.call/nested_struct3.c: Likewise.
3854
38552003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
3856
3857 * testsuite/libffi.call/cls_double.c: Do a check on the result.
3858 * testsuite/libffi.call/cls_uchar.c: Likewise.
3859 * testsuite/libffi.call/cls_uint.c: Likewise.
3860 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
3861 * testsuite/libffi.call/cls_ushort.c: Likewise.
3862 * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
3863
38642003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
3865
3866 * src/prep_cif.c (ffi_prep_cif): Move the validity check after
3867 the initialization.
3868
38692003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
3870
3871 * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
3872 FFI_ASSERT(FALSE) with FFI_ASSERT(0).
3873
38742003-10-22 David Daney <ddaney@avtrex.com>
3875
3876 * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
3877 __attribute__((__mode__(__SI__))) and friends.
3878
38792003-10-22 Andreas Schwab <schwab@suse.de>
3880
3881 * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
3882
38832003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
3884
3885 * configure.in: AC_LINK_FILES(ffitarget.h).
3886 * configure: Regenerate.
3887 * Makefile.in: Likewise.
3888 * include/Makefile.in: Likewise.
3889 * testsuite/Makefile.in: Likewise.
3890 * fficonfig.h.in: Likewise.
3891
38922003-10-21 Paolo Bonzini <bonzini@gnu.org>
3893 Richard Henderson <rth@redhat.com>
3894
3895 Avoid that ffi.h includes fficonfig.h.
3896
3897 * Makefile.am (EXTRA_DIST): Include ffitarget.h files
3898 (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
3899 (TARGET_SRC_MIPS_SGI): Removed.
3900 (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
3901 (MIPS_SGI): Removed.
3902 (CLEANFILES): Removed.
3903 (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
3904 targets.
3905 * acconfig.h: Removed.
3906 * configure.in: Compute sizeofs only for double and long double.
3907 Use them to define and subst HAVE_LONG_DOUBLE. Include comments
3908 into AC_DEFINE instead of using acconfig.h. Create
3909 include/ffitarget.h instead of include/fficonfig.h. Rename
3910 MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
3911 AC_DEFINE EH_FRAME_FLAGS.
3912 * include/Makefile.am (DISTCLEANFILES): New automake macro.
3913 (hack_DATA): Add ffitarget.h.
3914 * include/ffi.h.in: Remove all system specific definitions.
3915 Declare raw API even if it is not installed, why bother?
3916 Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
3917 not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
3918 ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
3919 (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
3920 * include/ffi_common.h (bool): Do not define.
3921 (ffi_assert): Accept failed assertion.
3922 (ffi_type_test): Return void and accept file/line.
3923 (FFI_ASSERT): Pass stringized failed assertion.
3924 (FFI_ASSERT_AT): New macro.
3925 (FFI_ASSERT_VALID_TYPE): New macro.
3926 (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
3927 UINT64, SINT64): Define here with gcc's __attribute__ macro
3928 instead of in ffi.h
3929 (FLOAT32, ALIGN): Define here instead of in ffi.h
3930 * include/ffi-mips.h: Removed. Its content moved to
3931 src/mips/ffitarget.h after separating assembly and C sections.
3932 * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
3933 src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
3934 src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
3935 src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
3936 SIZEOF_ARG -> FFI_SIZEOF_ARG.
3937 * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
3938 * src/debug.c (ffi_assert): Accept stringized failed assertion.
3939 (ffi_type_test): Rewritten.
3940 * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
3941 FFI_ASSERT_VALID_TYPE.
3942 * src/alpha/ffitarget.h, src/arm/ffitarget.h,
3943 src/ia64/ffitarget.h, src/m68k/ffitarget.h,
3944 src/mips/ffitarget.h, src/powerpc/ffitarget.h,
3945 src/s390/ffitarget.h, src/sh/ffitarget.h,
3946 src/sh64/ffitarget.h, src/sparc/ffitarget.h,
3947 src/x86/ffitarget.h: New files.
3948 * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
3949 src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
3950 src/powerpc/aix.S, src/powerpc/darwin.S,
3951 src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
3952 src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
3953 src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
3954 src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
3955 src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
3956 include fficonfig.h
3957
39582003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3959
3960 * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
3961 _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
3962
39632003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
3964
3965 * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
3966 Used when FFI_DEBUG = 1.
3967
39682003-10-14 Alan Modra <amodra@bigpond.net.au>
3969
3970 * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
3971 and align.
3972
39732003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3974
3975 * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
3976 FFI_MIPS_O32 for O32 ABI.
3977
39782003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
3979
3980 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
3981 SPARC64. Cleanup whitespaces.
3982
39832003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
3984
3985 * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
3986 strongarm, xscale. Cleanup whitespaces.
3987 * testsuite/libffi.call/closure_fn1.c: Likewise.
3988 * testsuite/libffi.call/closure_fn2.c: Likewise.
3989 * testsuite/libffi.call/closure_fn3.c: Likewise.
3990 * testsuite/libffi.call/cls_12byte.c: Likewise.
3991 * testsuite/libffi.call/cls_16byte.c: Likewise.
3992 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
3993 * testsuite/libffi.call/cls_20byte.c: Likewise.
3994 * testsuite/libffi.call/cls_24byte.c: Likewise.
3995 * testsuite/libffi.call/cls_2byte.c: Likewise.
3996 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
3997 * testsuite/libffi.call/cls_3byte1.c: Likewise.
3998 * testsuite/libffi.call/cls_3byte2.c: Likewise.
3999 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
4000 * testsuite/libffi.call/cls_4byte.c: Likewise.
4001 * testsuite/libffi.call/cls_5byte.c: Likewise.
4002 * testsuite/libffi.call/cls_6byte.c: Likewise.
4003 * testsuite/libffi.call/cls_7byte.c: Likewise.
4004 * testsuite/libffi.call/cls_8byte.c: Likewise.
4005 * testsuite/libffi.call/cls_double.c: Likewise.
4006 * testsuite/libffi.call/cls_float.c: Likewise.
4007 * testsuite/libffi.call/cls_uchar.c: Likewise.
4008 * testsuite/libffi.call/cls_uint.c: Likewise.
4009 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
4010 * testsuite/libffi.call/cls_ushort.c: Likewise.
4011 * testsuite/libffi.call/nested_struct.c: Likewise.
4012 * testsuite/libffi.call/nested_struct1.c: Likewise.
4013 * testsuite/libffi.call/problem1.c: Likewise.
4014 * testsuite/libffi.special/unwindtest.cc: Likewise.
4015 * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
4016
40172003-09-18 David Edelsohn <edelsohn@gnu.org>
4018
4019 * src/powerpc/aix.S: Cleanup whitespaces.
4020 * src/powerpc/aix_closure.S: Likewise.
4021
40222003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
4023
4024 * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
4025 * src/powerpc/darwin_closure.S: Likewise.
4026 * src/powerpc/ffi_darwin.c: Likewise.
4027
40282003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
4029 David Edelsohn <edelsohn@gnu.org>
4030
4031 * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
4032 * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
4033 parameter stack.
4034 * src/powerpc/darwin_closure.S: Likewise.
4035 * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
4036 according to the Darwin/AIX ABI.
4037 (ffi_prep_cif_machdep): Likewise.
4038 (ffi_closure_helper_DARWIN): Likewise.
4039 Remove the outgoing parameter stack logic. Simplify the evaluation
4040 of the different CASE types.
4041 (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
4042 statement in the trampoline code.
4043
40442003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
4045
4046 * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
4047 for the register size.
4048 (ffi_closure_helper_SYSV): Handle the structure return value
4049 address correctly.
4050 (ffi_closure_helper_SYSV): Return the appropriate type when
4051 the registers are used for the structure return value.
4052 * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
4053 the 64-bit return value. Update copyright years.
4054
40552003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4056
4057 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
4058 srcdir for ffi_mips.h.
4059
40602003-09-12 Alan Modra <amodra@bigpond.net.au>
4061
4062 * src/prep_cif.c (initialize_aggregate): Include tail padding in
4063 structure size.
4064 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
4065 placement of float result.
4066 * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
4067 cast of "resp" for big-endian 64 bit machines.
4068
40692003-09-11 Alan Modra <amodra@bigpond.net.au>
4070
4071 * src/types.c (double, longdouble): Merge identical SH and ARM
4072 typedefs, and add POWERPC64.
4073 * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
4074 struct split over gpr and rest.
4075 (ffi_prep_cif_machdep): Correct intarg_count for structures.
4076 * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
4077
40782003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
4079
4080 * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
4081 passing correctly.
4082
40832003-09-09 Alan Modra <amodra@bigpond.net.au>
4084
4085 * configure: Regenerate.
4086
40872003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
4088
4089 * Makefile.am: Remove build rules for ffitest.
4090 * Makefile.in: Rebuilt.
4091
40922003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
4093
4094 * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
4095 about implicit declaration of abort().
4096
40972003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
4098
4099 * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
4100 * Makefile.in: Rebuilt.
4101 * configure.in: Add dejagnu test framework.
4102 * configure: Rebuilt.
4103
4104 * testsuite/Makefile.am: New file.
4105 * testsuite/Makefile.in: Built
4106 * testsuite/lib/libffi-dg.exp: New file.
4107 * testsuite/config/default.exp: Likewise.
4108 * testsuite/libffi.call/call.exp: Likewise.
4109 * testsuite/libffi.call/ffitest.h: Likewise.
4110 * testsuite/libffi.call/closure_fn0.c: Likewise.
4111 * testsuite/libffi.call/closure_fn1.c: Likewise.
4112 * testsuite/libffi.call/closure_fn2.c: Likewise.
4113 * testsuite/libffi.call/closure_fn3.c: Likewise.
4114 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
4115 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
4116 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
4117 * testsuite/libffi.call/cls_2byte.c: Likewise.
4118 * testsuite/libffi.call/cls_3byte1.c: Likewise.
4119 * testsuite/libffi.call/cls_3byte2.c: Likewise.
4120 * testsuite/libffi.call/cls_4byte.c: Likewise.
4121 * testsuite/libffi.call/cls_5byte.c: Likewise.
4122 * testsuite/libffi.call/cls_6byte.c: Likewise.
4123 * testsuite/libffi.call/cls_7byte.c: Likewise.
4124 * testsuite/libffi.call/cls_8byte.c: Likewise.
4125 * testsuite/libffi.call/cls_12byte.c: Likewise.
4126 * testsuite/libffi.call/cls_16byte.c: Likewise.
4127 * testsuite/libffi.call/cls_20byte.c: Likewise.
4128 * testsuite/libffi.call/cls_24byte.c: Likewise.
4129 * testsuite/libffi.call/cls_double.c: Likewise.
4130 * testsuite/libffi.call/cls_float.c: Likewise.
4131 * testsuite/libffi.call/cls_uchar.c: Likewise.
4132 * testsuite/libffi.call/cls_uint.c: Likewise.
4133 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
4134 * testsuite/libffi.call/cls_ushort.c: Likewise.
4135 * testsuite/libffi.call/float.c: Likewise.
4136 * testsuite/libffi.call/float1.c: Likewise.
4137 * testsuite/libffi.call/float2.c: Likewise.
4138 * testsuite/libffi.call/many.c: Likewise.
4139 * testsuite/libffi.call/many_win32.c: Likewise.
4140 * testsuite/libffi.call/nested_struct.c: Likewise.
4141 * testsuite/libffi.call/nested_struct1.c: Likewise.
4142 * testsuite/libffi.call/pyobjc-tc.c: Likewise.
4143 * testsuite/libffi.call/problem1.c: Likewise.
4144 * testsuite/libffi.call/promotion.c: Likewise.
4145 * testsuite/libffi.call/return_ll.c: Likewise.
4146 * testsuite/libffi.call/return_sc.c: Likewise.
4147 * testsuite/libffi.call/return_uc.c: Likewise.
4148 * testsuite/libffi.call/strlen.c: Likewise.
4149 * testsuite/libffi.call/strlen_win32.c: Likewise.
4150 * testsuite/libffi.call/struct1.c: Likewise.
4151 * testsuite/libffi.call/struct2.c: Likewise.
4152 * testsuite/libffi.call/struct3.c: Likewise.
4153 * testsuite/libffi.call/struct4.c: Likewise.
4154 * testsuite/libffi.call/struct5.c: Likewise.
4155 * testsuite/libffi.call/struct6.c: Likewise.
4156 * testsuite/libffi.call/struct7.c: Likewise.
4157 * testsuite/libffi.call/struct8.c: Likewise.
4158 * testsuite/libffi.call/struct9.c: Likewise.
4159 * testsuite/libffi.special/special.exp: New file.
4160 * testsuite/libffi.special/ffitestcxx.h: Likewise.
4161 * testsuite/libffi.special/unwindtest.cc: Likewise.
4162
4163
41642003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
4165
4166 * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
4167 copyright years.
4168
41692003-08-02 Alan Modra <amodra@bigpond.net.au>
4170
4171 * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
4172 structure passing.
4173 (ffi_closure_helper_LINUX64): Likewise.
4174 * src/powerpc/linux64.S: Remove code writing to parm save area.
4175 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
4176 address in lr from ffi_closure_helper_LINUX64 call to calculate
4177 table address. Optimize function tail.
4178
41792003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
4180
4181 * src/sparc/ffi.c: Handle all floating point registers.
4182 * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
4183
41842003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4185
4186 * README: Note that libffi is not part of GCC. Update the project
4187 URL and status.
4188
41892003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4190
4191 * src/powerpc/ppc_closure.S: Include ffi.h.
4192
41932003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4194
4195 * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
4196 Use C style comments.
4197
41982003-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
4199
4200 * Makefile.am: Add SHmedia support. Fix a typo of SH support.
4201 * Makefile.in: Regenerate.
4202 * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
4203 * configure: Regenerate.
4204 * include/ffi.h.in: Add SHmedia support.
4205 * src/sh64/ffi.c: New file.
4206 * src/sh64/sysv.S: New file.
4207
42082003-05-16 Jakub Jelinek <jakub@redhat.com>
4209
4210 * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
4211 should be read-only.
4212 * configure: Rebuilt.
4213 * fficonfig.h.in: Rebuilt.
4214 * include/ffi.h.in (EH_FRAME_FLAGS): Define.
4215 * src/alpha/osf.S: Use EH_FRAME_FLAGS.
4216 * src/powerpc/linux64.S: Likewise.
4217 * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
4218 * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
4219 if -fpic/-fPIC/-mrelocatable.
4220 * src/powerpc/powerpc_closure.S: Likewise.
4221 * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
4222 #write in .eh_frame flags.
4223 * src/sparc/v9.S: Likewise.
4224 * src/x86/unix64.S: Use EH_FRAME_FLAGS.
4225 * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
4226 * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
4227
42282003-05-07 Jeff Sturm <jsturm@one-point.com>
4229
4230 Fixes PR bootstrap/10656
4231 * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
4232 support for .register pseudo-op.
4233 * src/sparc/v8.S: Use it.
4234 * fficonfig.h.in: Rebuilt.
4235 * configure: Rebuilt.
4236
42372003-04-18 Jakub Jelinek <jakub@redhat.com>
4238
4239 * include/ffi.h.in (POWERPC64): Define if 64-bit.
4240 (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
4241 Make it the default on POWERPC64.
4242 (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
4243 * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
4244 * configure: Rebuilt.
4245 * src/powerpc/ffi.c (hidden): Define.
4246 (ffi_prep_args_SYSV): Renamed from
4247 ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
4248 (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
4249 ASM_NEEDS_REGISTERS64): New.
4250 (ffi_prep_args64): New function.
4251 (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
4252 (ffi_call): Likewise.
4253 (ffi_prep_closure): Likewise.
4254 (flush_icache): Surround by #ifndef POWERPC64.
4255 (ffi_dblfl): New union type.
4256 (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
4257 (ffi_closure_helper_LINUX64): New function.
4258 * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
4259 __powerpc64__.
4260 * src/powerpc/sysv.S: Likewise.
4261 (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
4262 * src/powerpc/linux64.S: New file.
4263 * src/powerpc/linux64_closure.S: New file.
4264 * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
4265 src/powerpc/linux64_closure.S.
4266 (TARGET_SRC_POWERPC): Likewise.
4267
4268 * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
4269 closure_test_fn3): Fix result printing on big-endian 64-bit
4270 machines.
4271 (main): Print tst2_arg instead of uninitialized tst2_result.
4272
4273 * src/ffitest.c (main): Hide what closure pointer really points to
4274 from the compiler.
4275
42762003-04-16 Richard Earnshaw <rearnsha@arm.com>
4277
4278 * configure.in (arm-*-netbsdelf*): Add configuration.
4279 (configure): Regenerated.
4280
42812003-04-04 Loren J. Rittle <ljrittle@acm.org>
4282
4283 * include/Makefile.in: Regenerate.
4284
42852003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4286
4287 * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
4288 bit mode.
4289 * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
4290 Receive closure pointer through parameter, read args using
4291 __builtin_dwarf_cfa.
4292 (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
4293
42942003-03-12 Andreas Schwab <schwab@suse.de>
4295
4296 * configure.in: Avoid trailing /. in toolexeclibdir.
4297 * configure: Rebuilt.
4298
42992003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
4300
4301 * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
4302
43032003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
4304
4305 * libffi/src/powerpc/darwin_closure.S:
4306 Fix alignement bug, allocate 8 bytes for the result.
4307 * libffi/src/powerpc/aix_closure.S:
4308 Likewise.
4309 * libffi/src/powerpc/ffi_darwin.c:
4310 Update stackframe description for aix/darwin_closure.S.
4311
43122003-02-06 Jakub Jelinek <jakub@redhat.com>
4313
4314 * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
4315 attribute.
4316
43172003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
4318 Andreas Schwab <schwab@suse.de>
4319
4320 * configure.in: Adjust command to source config-ml.in to account
4321 for changes to the libffi_basedir definition.
4322 (libffi_basedir): Remove ${srcdir} from value and include trailing
4323 slash if nonempty.
4324
4325 * configure: Regenerate.
4326
43272003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4328
4329 * src/powerpc/ppc_closure.S: Recode to fit shared libs.
4330
43312003-01-28 Andrew Haley <aph@redhat.com>
4332
4333 * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
4334 * src/x86/ffi64.c (ffi_prep_closure): New.
4335 (ffi_closure_UNIX64_inner): New.
4336 * src/x86/unix64.S (ffi_closure_UNIX64): New.
4337
43382003-01-27 Alexandre Oliva <aoliva@redhat.com>
4339
4340 * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
4341 Remove USE_LIBDIR conditional.
4342 * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
4343 * Makefile.in, configure: Rebuilt.
4344
43452003-01027 David Edelsohn <edelsohn@gnu.org>
4346
4347 * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
4348 * Makefile.in: Regenerate.
4349
43502003-01-22 Andrew Haley <aph@redhat.com>
4351
4352 * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
4353 unwind info.
4354
43552003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
4356
4357 * src/powerpc/darwin.S: Add unwind info.
4358 * src/powerpc/darwin_closure.S: Likewise.
4359
43602003-01-14 Andrew Haley <aph@redhat.com>
4361
4362 * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
4363 (ffi_prep_cif_machdep): Likewise.
4364 * src/x86/unix64.S: Add unwind info.
4365
43662003-01-14 Andreas Jaeger <aj@suse.de>
4367
4368 * src/ffitest.c (main): Only use ffi_closures if those are
4369 supported.
4370
43712003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
4372
4373 * libffi/src/ffitest.c
4374 add closure testcases
4375
43762003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
4377
4378 * libffi/src/powerpc/ffi.c
4379 fix alignment bug for float (4 byte aligned iso 8 byte)
4380
43812003-01-09 Geoffrey Keating <geoffk@apple.com>
4382
4383 * src/powerpc/ffi_darwin.c: Remove RCS version string.
4384 * src/powerpc/darwin.S: Remove RCS version string.
4385
43862003-01-03 Jeff Sturm <jsturm@one-point.com>
4387
4388 * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
4389 * src/ffitest.c (main): Use static storage for closure.
4390 * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
4391 * src/sparc/v8.S (ffi_closure_v8): New.
4392 * src/sparc/v9.S (ffi_closure_v9): New.
4393
43942002-11-10 Ranjit Mathew <rmathew@hotmail.com>
4395
4396 * include/ffi.h.in: Added FFI_STDCALL ffi_type
4397 enumeration for X86_WIN32.
4398 * src/x86/win32.S: Added ffi_call_STDCALL function
4399 definition.
4400 * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
4401 switch cases for recognising FFI_STDCALL and
4402 calling ffi_call_STDCALL if target is X86_WIN32.
4403 * src/ffitest.c (my_stdcall_strlen/stdcall_many):
4404 stdcall versions of the "my_strlen" and "many"
4405 test functions (for X86_WIN32).
4406 Added test cases to test stdcall invocation using
4407 these functions.
4408
44092002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
4410
4411 * src/sh/sysv.S: Add DWARF2 unwind info.
4412
44132002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
4414
4415 * src/s390/sysv.S (.eh_frame section): Make section read-only.
4416
44172002-11-26 Jim Wilson <wilson@redhat.com>
4418
4419 * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
4420
44212002-11-23 H.J. Lu <hjl@gnu.org>
4422
4423 * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
4424 Include ../config/accross.m4.
4425 * aclocal.m4; Rebuild.
4426 * configure: Likewise.
4427
44282002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
4429
4430 * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
4431
44322002-11-11 DJ Delorie <dj@redhat.com>
4433
4434 * configure.in: Look for common files in the right place.
4435
44362002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
4437
4438 * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
4439 raw data as _Jv_word values, not ffi_raw.
4440 (ffi_java_ptrarray_to_raw): Likewise.
4441 (ffi_java_rvalue_to_raw): New function.
4442 (ffi_java_raw_call): Call it.
4443 (ffi_java_raw_to_rvalue): New function.
4444 (ffi_java_translate_args): Call it.
4445 * src/ffitest.c (closure_test_fn): Interpret return value
4446 as ffi_arg, not int.
4447 * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
4448 FFI_TYPE_POINTER case.
4449 (ffi_closure_helper_SYSV): Likewise. Also, assume return
4450 values extended to word size.
4451
44522002-10-02 Andreas Jaeger <aj@suse.de>
4453
4454 * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
4455
44562002-10-01 Bo Thorsen <bo@smetana.suse.de>
4457
4458 * include/ffi.h.in: Fix i386 win32 compilation.
4459
44602002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
4461
4462 * configure.in: Add s390x-*-linux-* target.
4463 * configure: Regenerate.
4464 * include/ffi.h.in: Define S390X for s390x targets.
4465 (FFI_CLOSURES): Define for s390/s390x.
4466 (FFI_TRAMPOLINE_SIZE): Likewise.
4467 (FFI_NATIVE_RAW_API): Likewise.
4468 * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
4469 * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
4470 * src/s390/ffi.c: Major rework of existing code. Add support for
4471 s390x targets. Add closure support.
4472 * src/s390/sysv.S: Likewise.
4473
44742002-09-29 Richard Earnshaw <rearnsha@arm.com>
4475
4476 * src/arm/sysv.S: Fix typo.
4477
44782002-09-28 Richard Earnshaw <rearnsha@arm.com>
4479
4480 * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
4481 has defined __USER_LABEL_PREFIX__, then use it in CNAME.
4482 (ffi_call_SYSV): Handle soft-float.
4483
44842002-09-27 Bo Thorsen <bo@suse.de>
4485
4486 * include/ffi.h.in: Fix multilib x86-64 support.
4487
44882002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4489
4490 * Makefile.am (all-multi): Fix multilib parallel build.
4491
44922002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
4493
4494 * configure.in (sh[34]*-*-linux*): Add brackets.
4495 * configure: Regenerate.
4496
44972002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
4498
4499 * Makefile.am: Add SH support.
4500 * Makefile.in: Regenerate.
4501 * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
4502 * configure: Regenerate.
4503 * include/ffi.h.in: Add SH support.
4504 * src/sh/ffi.c: New file.
4505 * src/sh/sysv.S: New file.
4506 * src/types.c: Add SH support.
4507
45082002-07-16 Bo Thorsen <bo@suse.de>
4509
4510 * src/x86/ffi64.c: New file that adds x86-64 support.
4511 * src/x86/unix64.S: New file that handles argument setup for
4512 x86-64.
4513 * src/x86/sysv.S: Don't use this on x86-64.
4514 * src/x86/ffi.c: Don't use this on x86-64.
4515 Remove unused vars.
4516 * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
4517 for x86-64.
4518 * src/ffitest.c (struct6): New test that tests a special case in
4519 the x86-64 ABI.
4520 (struct7): Likewise.
4521 (struct8): Likewise.
4522 (struct9): Likewise.
4523 (closure_test_fn): Silence warning about this when it's not used.
4524 (main): Add the new tests.
4525 (main): Fix a couple of wrong casts and silence some compiler warnings.
4526 * include/ffi.h.in: Add x86-64 ABI definition.
4527 * fficonfig.h.in: Regenerate.
4528 * Makefile.am: Add x86-64 support.
4529 * configure.in: Likewise.
4530 * Makefile.in: Regenerate.
4531 * configure: Likewise.
4532
45332002-06-24 Bo Thorsen <bo@suse.de>
4534
4535 * src/types.c: Merge settings for similar architectures.
4536 Add x86-64 sizes and alignments.
4537
45382002-06-23 Bo Thorsen <bo@suse.de>
4539
4540 * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
4541 * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
4542 * src/mips/ffi.c (ffi_prep_args): Likewise.
4543 * src/m68k/ffi.c (ffi_prep_args): Likewise.
4544
45452002-07-18 H.J. Lu (hjl@gnu.org)
4546
4547 * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
4548 (libffi_la_SOURCES): Support MIPS_LINUX.
4549 (libffi_convenience_la_SOURCES): Likewise.
4550 * Makefile.in: Regenerated.
4551
4552 * configure.in (mips64*-*): Skip.
4553 (mips*-*-linux*): New.
4554 * configure: Regenerated.
4555
4556 * src/mips/ffi.c: Include <sgidefs.h>.
4557
45582002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
4559
4560 * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
4561
45622002-05-27 Roger Sayle <roger@eyesopen.com>
4563
4564 * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
4565
45662002-05-27 Bo Thorsen <bo@suse.de>
4567
4568 * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
4569 fix formatting.
4570
45712002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
4572
4573 * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
4574 beginning of function (for older apple cc).
4575
45762002-05-08 Alexandre Oliva <aoliva@redhat.com>
4577
4578 * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
4579 script entry, and set LD to it when configuring multilibs.
4580 * configure: Rebuilt.
4581
45822002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
4583
4584 * configure.in (sparc64-*-netbsd*): Add target.
4585 (sparc-*-netbsdelf*): Likewise.
4586 * configure: Regenerate.
4587
45882002-04-28 David S. Miller <davem@redhat.com>
4589
4590 * configure.in, configure: Fix SPARC test in previous change.
4591
45922002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
4593
4594 * Makefile.am: Add Linux for S/390 support.
4595 * Makefile.in: Regenerate.
4596 * configure.in: Add Linux for S/390 support.
4597 * configure: Regenerate.
4598 * include/ffi.h.in: Add Linux for S/390 support.
4599 * src/s390/ffi.c: New file from libffi CVS tree.
4600 * src/s390/sysv.S: New file from libffi CVS tree.
4601
46022002-04-28 Jakub Jelinek <jakub@redhat.com>
4603
4604 * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
4605 %r_disp32().
4606 * src/sparc/v8.S: Use it.
4607 * src/sparc/v9.S: Likewise.
4608 * fficonfig.h.in: Rebuilt.
4609 * configure: Rebuilt.
4610
46112002-04-08 Hans Boehm <Hans_Boehm@hp.com>
4612
4613 * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
4614 correctly.
4615 * src/ia64/unix.S: Add unwind information. Fix comments.
4616 Save sp in a way that's compatible with unwind info.
4617 (ffi_call_unix): Correctly restore sp in all cases.
4618 * src/ia64/ffi.c: Add, fix comments.
4619
46202002-04-08 Jakub Jelinek <jakub@redhat.com>
4621
4622 * src/sparc/v8.S: Make .eh_frame dependent on target word size.
4623
46242002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
4625
4626 * configure.in (alpha*-*-netbsd*): Add target.
4627 * configure: Regenerate.
4628
46292002-04-04 Jeff Sturm <jsturm@one-point.com>
4630
4631 * src/sparc/v8.S: Add unwind info.
4632 * src/sparc/v9.S: Likewise.
4633
46342002-03-30 Krister Walfridsson <cato@df.lth.se>
4635
4636 * configure.in: Enable i*86-*-netbsdelf*.
4637 * configure: Rebuilt.
4638
46392002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
4640
4641 PR other/2620
4642 * src/mips/n32.s: Delete
4643 * src/mips/o32.s: Delete
4644
46452002-03-21 Loren J. Rittle <ljrittle@acm.org>
4646
4647 * configure.in: Enable alpha*-*-freebsd*.
4648 * configure: Rebuilt.
4649
46502002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
4651
4652 * Makefile.am: libfficonvenience -> libffi_convenience.
4653 * Makefile.in: Rebuilt.
4654
4655 * Makefile.am: Define ffitest_OBJECTS.
4656 * Makefile.in: Rebuilt.
4657
46582002-03-07 Andreas Tobler <toa@pop.agri.ch>
4659 David Edelsohn <edelsohn@gnu.org>
4660
4661 * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
4662 (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
4663 (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
4664 * Makefile.in: Regenerate.
4665 * include/ffi.h.in: Add AIX and Darwin closure definitions.
4666 * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
4667 (flush_icache, flush_range): New functions.
4668 (ffi_closure_helper_DARWIN): New function.
4669 * src/powerpc/aix_closure.S: New file.
4670 * src/powerpc/darwin_closure.S: New file.
4671
46722002-02-24 Jeff Sturm <jsturm@one-point.com>
4673
4674 * include/ffi.h.in: Add typedef for ffi_arg.
4675 * src/ffitest.c (main): Declare rint with ffi_arg.
4676
46772002-02-21 Andreas Tobler <toa@pop.agri.ch>
4678
4679 * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
4680 number of GPRs for floating-point arguments.
4681
46822002-01-31 Anthony Green <green@redhat.com>
4683
4684 * configure: Rebuilt.
4685 * configure.in: Replace CHECK_SIZEOF and endian tests with
4686 cross-compiler friendly macros.
4687 * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
4688 macros.
4689
46902002-01-18 David Edelsohn <edelsohn@gnu.org>
4691
4692 * src/powerpc/darwin.S (_ffi_call_AIX): New.
4693 * src/powerpc/aix.S (ffi_call_DARWIN): New.
4694
46952002-01-17 David Edelsohn <edelsohn@gnu.org>
4696
4697 * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
4698 (TARGET_SRC_POWERPC_AIX): New.
4699 (POWERPC_AIX): New stanza.
4700 * Makefile.in: Regenerate.
4701 * configure.in: Add AIX case.
4702 * configure: Regenerate.
4703 * include/ffi.h.in (ffi_abi): Add FFI_AIX.
4704 * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
4705 size. Fix "long double" support.
4706 (ffi_call): Add FFI_AIX case.
4707 * src/powerpc/aix.S: New.
4708
47092001-10-09 John Hornkvist <john@toastedmarshmallow.com>
4710
4711 Implement Darwin PowerPC ABI.
4712 * configure.in: Handle powerpc-*-darwin*.
4713 * Makefile.am: Set source files for POWERPC_DARWIN.
4714 * configure: Rebuilt.
4715 * Makefile.in: Rebuilt.
4716 * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
4717 POWERPC_DARWIN.
4718 * src/powerpc/darwin.S: New file.
4719 * src/powerpc/ffi_darwin.c: New file.
4720
47212001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
4722
4723 * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
4724
47252001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4726
4727 * src/x86/sysv.S: Avoid gas-only .balign directive.
4728 Use C style comments.
4729
47302001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4731
4732 * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
4733 Fixes PR bootstrap/3563.
4734
47352001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4736
4737 * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
4738
47392001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4740
4741 * configure.in: Recognize sparc*-sun-* host.
4742 * configure: Regenerate.
4743
47442001-06-06 Andrew Haley <aph@redhat.com>
4745
4746 * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
4747
47482001-06-03 Andrew Haley <aph@redhat.com>
4749
4750 * src/alpha/osf.S: Add unwind info.
4751 * src/powerpc/sysv.S: Add unwind info.
4752 * src/powerpc/ppc_closure.S: Likewise.
4753
47542000-05-31 Jeff Sturm <jsturm@one-point.com>
4755
4756 * configure.in: Fix AC_ARG_ENABLE usage.
4757 * configure: Rebuilt.
4758
47592001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
4760
4761 * configure.in: Remove warning about beta code.
4762 * configure: Rebuilt.
4763
47642001-04-25 Hans Boehm <Hans_Boehm@hp.com>
4765
4766 * src/ia64/unix.S: Restore stack pointer when returning from
4767 ffi_closure_UNIX.
4768 * src/ia64/ffi.c: Fix typo in comment.
4769
47702001-04-18 Jim Wilson <wilson@redhat.com>
4771
4772 * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
4773 to eliminate RAW DV.
4774
47752001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
4776
4777 * Makefile.am: Make a libtool convenience library.
4778 * Makefile.in: Rebuilt.
4779
47802001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
4781
4782 * configure.in: Use different syntax for subdirectory creation.
4783 * configure: Rebuilt.
4784
47852001-03-27 Jon Beniston <jon@beniston.com>
4786
4787 * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
4788 * configure: Rebuilt.
4789 * Makefile.am: Added X86_WIN32 target support.
4790 * Makefile.in: Rebuilt.
4791
4792 * include/ffi.h.in: Added X86_WIN32 target support.
4793
4794 * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
4795 * src/types.c: Added X86_WIN32 target support.
4796
4797 * src/x86/win32.S: New file. Based on sysv.S, but with EH
4798 stuff removed and made to work with CygWin's gas.
4799
48002001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
4801
4802 * configure.in: Make target subdirectory in build dir.
4803 * Makefile.am: Override suffix based rules to specify correct output
4804 subdirectory.
4805 * Makefile.in: Rebuilt.
4806 * configure: Rebuilt.
4807
48082001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
4809
4810 * src/powerpc/ppc_closure.S: New file.
4811 * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
4812 involving long long and register pairs.
4813 (ffi_prep_closure): New function.
4814 (flush_icache): Likewise.
4815 (ffi_closure_helper_SYSV): Likewise.
4816 * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
4817 (FFI_TRAMPOLINE_SIZE): Likewise.
4818 (FFI_NATIVE_RAW_API): Likewise.
4819 * Makefile.in: Rebuilt.
4820 * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
4821 (TARGET_SRC_POWERPC): Likewise.
4822
48232001-03-19 Tom Tromey <tromey@redhat.com>
4824
4825 * Makefile.in: Rebuilt.
4826 * Makefile.am (ffitest_LDFLAGS): New macro.
4827
48282001-03-02 Nick Clifton <nickc@redhat.com>
4829
4830 * include/ffi.h.in: Remove RCS ident string.
4831 * include/ffi_mips.h: Remove RCS ident string.
4832 * src/debug.c: Remove RCS ident string.
4833 * src/ffitest.c: Remove RCS ident string.
4834 * src/prep_cif.c: Remove RCS ident string.
4835 * src/types.c: Remove RCS ident string.
4836 * src/alpha/ffi.c: Remove RCS ident string.
4837 * src/alpha/osf.S: Remove RCS ident string.
4838 * src/arm/ffi.c: Remove RCS ident string.
4839 * src/arm/sysv.S: Remove RCS ident string.
4840 * src/mips/ffi.c: Remove RCS ident string.
4841 * src/mips/n32.S: Remove RCS ident string.
4842 * src/mips/o32.S: Remove RCS ident string.
4843 * src/sparc/ffi.c: Remove RCS ident string.
4844 * src/sparc/v8.S: Remove RCS ident string.
4845 * src/sparc/v9.S: Remove RCS ident string.
4846 * src/x86/ffi.c: Remove RCS ident string.
4847 * src/x86/sysv.S: Remove RCS ident string.
4848
48492001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
4850
4851 * include/ffi.h.in: Change sourceware.cygnus.com references to
4852 gcc.gnu.org.
4853
48542000-12-09 Richard Henderson <rth@redhat.com>
4855
4856 * src/alpha/ffi.c (ffi_call): Simplify struct return test.
4857 (ffi_closure_osf_inner): Index rather than increment avalue
4858 and arg_types. Give ffi_closure_osf the raw return value type.
4859 * src/alpha/osf.S (ffi_closure_osf): Handle return value type
4860 promotion.
4861
48622000-12-07 Richard Henderson <rth@redhat.com>
4863
4864 * src/raw_api.c (ffi_translate_args): Fix typo.
4865 (ffi_prep_closure): Likewise.
4866
4867 * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
4868 FFI_TRAMPOLINE_SIZE.
4869 * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
4870 cif->bytes for new ffi_call_osf implementation.
4871 (ffi_prep_args): Absorb into ...
4872 (ffi_call): ... here. Do all stack allocation here and
4873 avoid a callback function.
4874 (ffi_prep_closure, ffi_closure_osf_inner): New.
4875 * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
4876 (ffi_closure_osf): New.
4877
48782000-09-10 Alexandre Oliva <aoliva@redhat.com>
4879
4880 * config.guess, config.sub, install-sh: Removed.
4881 * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
4882 * Makefile.in: Rebuilt.
4883
4884 * acinclude.m4: Include libtool macros from the top level.
4885 * aclocal.m4, configure: Rebuilt.
4886
48872000-08-22 Alexandre Oliva <aoliva@redhat.com>
4888
4889 * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
4890 * configure: Rebuilt.
4891
48922000-05-11 Scott Bambrough <scottb@netwinder.org>
4893
4894 * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
4895 memory correctly. Use conditional instructions, not branches where
4896 possible.
4897
48982000-05-04 Tom Tromey <tromey@cygnus.com>
4899
4900 * configure: Rebuilt.
4901 * configure.in: Match `arm*-*-linux-*'.
4902 From Chris Dornan <cdornan@arm.com>.
4903
49042000-04-28 Jakub Jelinek <jakub@redhat.com>
4905
4906 * Makefile.am (SUBDIRS): Define.
4907 (AM_MAKEFLAGS): Likewise.
4908 (Multilib support.): Add section.
4909 * Makefile.in: Rebuilt.
4910 * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
4911 New variables. Set for gcc using -print-multi-lib. Export them
4912 to libtool.
4913 (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
4914 * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
4915 for -shared links.
4916 (extra_compiler_flags_value, extra_compiler_flags): Check these
4917 for extra compiler options which need to be passed down in
4918 compiler_flags.
4919
49202000-04-16 Anthony Green <green@redhat.com>
4921
4922 * configure: Rebuilt.
4923 * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
4924
49252000-04-14 Jakub Jelinek <jakub@redhat.com>
4926
4927 * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
4928 Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
4929 * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
4930 Replace all void * sizeofs with sizeof(int).
4931 Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
4932 different than DOUBLE.
4933 Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
4934 (ffi_prep_args_v9): New function.
4935 (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
4936 (ffi_V9_return_struct): New function.
4937 (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
4938 32bit code (not yet cross-arch calls).
4939 * src/sparc/v8.S: Add struct return delay nop.
4940 Handle long long.
4941 * src/sparc/v9.S: New file.
4942 * src/prep_cif.c (ffi_prep_cif): Return structure pointer
4943 is used on sparc64 only for structures larger than 32 bytes.
4944 Pass by reference for structures is done for structure arguments
4945 larger than 16 bytes.
4946 * src/ffitest.c (main): Use 64bit rint on sparc64.
4947 Run long long tests on sparc.
4948 * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
4949 sparc64.
4950 (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
4951 on sparc64.
4952 * configure.in (sparc-*-linux*): New supported target.
4953 (sparc64-*-linux*): Likewise.
4954 * configure: Rebuilt.
4955 * Makefile.am: Add v9.S to SPARC files.
4956 * Makefile.in: Likewise.
4957 (LINK): Surround $(CCLD) into double quotes, so that multilib
4958 compiles work correctly.
4959
49602000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
4961
4962 * configure: Rebuilt.
4963 * configure.in: (i*86-*-solaris*): New libffi target. Patch
4964 proposed by Bryce McKinlay.
4965
49662000-03-20 Tom Tromey <tromey@cygnus.com>
4967
4968 * Makefile.in: Hand edit for java_raw_api.lo.
4969
49702000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
4971
4972 * config.guess, config.sub: Update from the gcc tree.
4973 Fix for PR libgcj/168.
4974
49752000-03-03 Tom Tromey <tromey@cygnus.com>
4976
4977 * Makefile.in: Fixed ia64 by hand.
4978
4979 * configure: Rebuilt.
4980 * configure.in (--enable-multilib): New option.
4981 (libffi_basedir): New subst.
4982 (AC_OUTPUT): Added multilib code.
4983
49842000-03-02 Tom Tromey <tromey@cygnus.com>
4985
4986 * Makefile.in: Rebuilt.
4987 * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
4988 directory name.
4989
49902000-02-25 Hans Boehm <boehm@acm.org>
4991
4992 * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
4993 files.
4994 * src/raw_api.c (ffi_translate_args): Fixed typo in argument
4995 list.
4996 (ffi_prep_raw_closure): Use ffi_translate_args, not
4997 ffi_closure_translate.
4998 * src/java_raw_api.c: New file.
4999 * src/ffitest.c (closure_test_fn): New function.
5000 (main): Define `rint' as long long on IA64. Added new test when
5001 FFI_CLOSURES is defined.
5002 * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
5003 (ffi_abi): Recognize IA64.
5004 (ffi_raw): Added `flt' field.
5005 Added "Java raw API" code.
5006 * configure.in: Recognize ia64.
5007 * Makefile.am (TARGET_SRC_IA64): New macro.
5008 (libffi_la_common_SOURCES): Added java_raw_api.c.
5009 (libffi_la_SOURCES): Define in IA64 case.
5010
50112000-01-04 Tom Tromey <tromey@cygnus.com>
5012
5013 * Makefile.in: Rebuilt with newer automake.
5014
50151999-12-31 Tom Tromey <tromey@cygnus.com>
5016
5017 * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
5018
50191999-09-01 Tom Tromey <tromey@cygnus.com>
5020
5021 * include/ffi.h.in: Removed PACKAGE and VERSION defines and
5022 undefs.
5023 * fficonfig.h.in: Rebuilt.
5024 * configure: Rebuilt.
5025 * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
5026 Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
5027 * acconfig.h: Don't #undef PACKAGE or VERSION.
5028
50291999-08-09 Anthony Green <green@cygnus.com>
5030
5031 * include/ffi.h.in: Try to work around messy header problem
5032 with PACKAGE and VERSION.
5033
5034 * configure: Rebuilt.
5035 * configure.in: Change version to 2.00-beta.
5036
5037 * fficonfig.h.in: Rebuilt.
5038 * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
5039
5040 * src/x86/ffi.c (ffi_raw_call): Rename.
5041
50421999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
5043
5044 * src/x86/ffi.c (ffi_closure_SYSV): New function.
5045 (ffi_prep_incoming_args_SYSV): Ditto.
5046 (ffi_prep_closure): Ditto.
5047 (ffi_closure_raw_SYSV): Ditto.
5048 (ffi_prep_raw_closure): More ditto.
5049 (ffi_call_raw): Final ditto.
5050
5051 * include/ffi.h.in: Add definitions for closure and raw API.
5052
5053 * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
5054 FFI_TYPE_UINT64.
5055
5056 * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
5057
5058 * src/raw_api.c: New file.
5059
5060 * include/ffi.h.in (ffi_raw): New type.
5061 (UINT_ARG, SINT_ARG): New defines.
5062 (ffi_closure, ffi_raw_closure): New types.
5063 (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
5064
5065 * configure.in: Add check for endianness and sizeof void*.
5066
5067 * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
5068 instead of directly.
5069
5070 * configure: Rebuilt.
5071
5072Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
5073
5074 * configure.in: Add x86 and powerpc BeOS configurations.
5075 From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
5076
50771999-05-09 Anthony Green <green@cygnus.com>
5078
5079 * configure.in: Add warning about this being beta code.
5080 Remove src/Makefile.am from the picture.
5081 * configure: Rebuilt.
5082
5083 * Makefile.am: Move logic from src/Makefile.am. Add changes
5084 to support libffi as a target library.
5085 * Makefile.in: Rebuilt.
5086
5087 * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
5088 Upgraded to new autoconf, automake, libtool.
5089
5090 * README: Tweaks.
5091
5092 * LICENSE: Update copyright date.
5093
5094 * src/Makefile.am, src/Makefile.in: Removed.
5095
50961998-11-29 Anthony Green <green@cygnus.com>
5097
5098 * include/ChangeLog: Removed.
5099 * src/ChangeLog: Removed.
5100 * src/mips/ChangeLog: Removed.
5101 * src/sparc/ChangeLog: Remboved.
5102 * src/x86/ChangeLog: Removed.
5103
5104 * ChangeLog.v1: Created.