OSDN Git Service

Added .cvsignore entry for autom4te.cache to boehm-gc, libffi and
[pf3gnuchains/gcc-fork.git] / libffi / ChangeLog
1 2005-06-15  Paolo Bonzini  <bonzini@gnu.org>
2
3         * .cvsignore: New file.
4
5 2004-06-10  Jakub Jelinek  <jakub@redhat.com>
6
7         * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
8         fp_done.
9         (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
10         changed from 8.
11
12 2004-06-06  Sean McNeil  <sean@mcneil.com>
13
14         * configure.ac: Add x86_64-*-freebsd* support.
15         * configure: Regenerate.
16
17 2004-04-26  Joe Buck <jbuck@welsh-buck.org>
18
19         Bug 15093
20         * configure.ac: Test for existence of mmap and sys/mman.h before
21         checking blacklist.  Fix suggested by Jim Wilson.
22         * configure: Regenerate.
23
24 2004-04-26  Matt Austern  <austern@apple.com>
25
26         * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
27         FDE location.
28         * src/powerpc/darwin_closure.S: Likewise.
29         
30 2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
31
32         * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
33         error. Reported by Thomas Heller <theller@python.net>.
34         * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
35         * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
36
37 2004-03-20  Matthias Klose  <doko@debian.org>
38
39         * src/pa/linux.S: Fix typo.
40
41 2004-03-19  Matthias Klose  <doko@debian.org>
42
43         * Makefile.am: Update.
44         * Makefile.in: Regenerate.
45         * src/pa/ffi.h.in: Remove.
46         * src/pa/ffitarget.h: New file.
47
48 2004-02-10  Randolph Chung  <tausq@debian.org>
49
50         * Makefile.am: Add PA support.
51         * Makefile.in: Regenerate.
52         * include/Makefile.in: Regenerate.
53         * configure.ac: Add PA target.
54         * configure: Regenerate.
55         * src/pa/ffi.c: New file.
56         * src/pa/ffi.h.in: Add PA support.
57         * src/pa/linux.S: New file.
58         * prep_cif.c: Add PA support.
59
60 2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
61
62         * src/types.c: Fix alignment size of X86_WIN32 case int64 and
63         double.
64         * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
65         with ecif->cif->flags.
66         (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
67         with cif->flags.
68         (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
69         (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
70         * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
71         sc_retstruct2b): Add for 1 or 2-bytes struct case.
72
73 2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
74
75         * configure.in: Rename file to ...
76         * configure.ac: ... this.
77         * fficonfig.h.in: Regenerate.
78         * Makefile.in: Regenerate.
79         * include/Makefile.in: Regenerate.
80         * testsuite/Makefile.in: Regenerate.
81
82 2004-03-12  Matt Austern  <austern@apple.com>
83
84         * src/powerpc/darwin.S: Fix EH information so it corresponds to
85         changes in EH format resulting from addition of linkonce support.
86         * src/powerpc/darwin_closure.S: Likewise.
87
88 2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
89             Paolo Bonzini  <bonzini@gnu.org>
90
91         * Makefile.am (AUTOMAKE_OPTIONS): Set them.
92         Remove VPATH. Remove rules for object files. Remove multilib support.
93         (AM_CCASFLAGS): Add.
94         * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
95         (AC_PREREQ): Bump version to 2.59.
96         (AC_INIT): Fill with version info and bug address.
97         (ORIGINAL_LD_FOR_MULTILIBS): Remove.
98         (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
99         De-precious CC so that the right flags are passed down to multilibs.
100         (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
101         (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
102         (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
103         * configure: Rebuilt.
104         * aclocal.m4: Likewise.
105         * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
106         * fficonfig.h.in: Likewise.
107
108 2004-03-11  Andreas Schwab  <schwab@suse.de>
109
110         * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
111         arguments from fp registers only for the first 8 parameter slots.
112         Don't convert a float parameter when passed in memory.
113
114 2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
115
116         * configure: Regenerate for config/accross.m4 correction.
117
118 2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
119
120         * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
121         ecif->cif->bytes to bytes.
122         (ffi_prep_cif_machdep): Add braces around nested if statement.
123
124 2004-02-09  Alan Modra  <amodra@bigpond.net.au>
125
126         * src/types.c (pointer): POWERPC64 has 8 byte pointers.
127
128         * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
129         (ffi_closure_helper_LINUX64): Fix typo.
130         * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
131         for powerpc64-*-*.
132         * testsuite/libffi.call/float.c: Likewise.
133         * testsuite/libffi.call/float2.c: Likewise.
134
135 2004-02-08  Alan Modra  <amodra@bigpond.net.au>
136
137         * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
138         long double function return and long double arg handling.
139         (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
140         Use "end_pfr" instead of "nf".  Correct long double handling.
141         Localise "temp".
142         * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
143         return value.
144         * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
145         space for long double return value.  Adjust stack frame and offsets.
146         Load f2 long double return.
147
148 2004-02-07  Alan Modra  <amodra@bigpond.net.au>
149
150         * src/types.c: Use 16 byte long double for POWERPC64.
151
152 2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
153
154         * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
155         when the structure return address is passed in %o0.
156         (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
157         (ffi_v9_layout_struct): Align the field following a nested structure
158         on a word boundary.  Use memmove instead of memcpy.
159         (ffi_call): Update call to ffi_V9_return_struct.
160         (ffi_prep_closure): Define 'ctx' only for V8.
161         (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
162         and ffi_closure_sparc_inner_v9.
163         (ffi_closure_sparc_inner_v8): Return long doubles by reference.
164         Always skip the structure return address.  For structures and long
165         doubles, copy the argument directly.
166         (ffi_closure_sparc_inner_v9): Skip the structure return address only
167         if required.  Shift the maximum floating-point slot accordingly.  For
168         big structures, copy the argument directly; otherwise, left-justify the
169         argument and call ffi_v9_layout_struct to lay out the structure on
170         the stack.
171         * src/sparc/v8.S: Undef STACKFRAME before defining it.
172         (ffi_closure_v8): Pass the structure return address.  Update call to
173         ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
174         Skip the 'unimp' insn when returning long doubles and structures.
175         * src/sparc/v9.S: Undef STACKFRAME before defining it.
176         (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
177         FFI_TYPE_INT handling.  Load structures both in integers and
178         floating-point registers on return.
179         * README: Update status of the SPARC port.
180
181 2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
182
183         * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
184         as of type ffi_arg.
185         * testsuite/libffi.call/struct3.c (main): Fix CHECK.
186
187 2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
188
189         * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
190         value as of type ffi_arg, not unsigned int.
191
192 2004-01-21  Michael Ritzert  <ritzert@t-online.de>
193
194         * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
195         of the LHS.
196
197 2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
198
199         * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
200         Solaris.
201
202 2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
203
204         * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
205         to void *.
206
207 2003-12-10  Richard Henderson  <rth@redhat.com>
208
209         * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
210         size_t instead of int.
211
212 2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
213
214         * testsuite/libffi.call/many_win32.c: Include <float.h>.
215         * testsuite/libffi.call/many_win32.c (main): Replace variable
216         int i with unsigned long ul.
217
218         * testsuite/libffi.call/cls_align_uint64.c: New test case.
219         * testsuite/libffi.call/cls_align_sint64.c: Likewise.
220         * testsuite/libffi.call/cls_align_uint32.c: Likewise.
221         * testsuite/libffi.call/cls_align_sint32.c: Likewise.
222         * testsuite/libffi.call/cls_align_uint16.c: Likewise.
223         * testsuite/libffi.call/cls_align_sint16.c: Likewise.
224         * testsuite/libffi.call/cls_align_float.c: Likewise.
225         * testsuite/libffi.call/cls_align_double.c: Likewise.
226         * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
227         * testsuite/libffi.call/cls_align_pointer.c: Likewise.
228
229 2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
230
231         PR other/13221
232         * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
233         Align arguments to 32 bits.
234
235 2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
236
237         PR other/13221
238         * testsuite/libffi.call/cls_multi_sshort.c: New test case.
239         * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
240         * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
241         * testsuite/libffi.call/cls_multi_schar.c: Likewise.
242         * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
243         * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
244
245         * testsuite/libffi.special/unwindtest.cc: Cosmetics.
246
247 2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
248
249         * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
250         * testsuite/libffi.special/ffitestcxx.h: Likewise.
251
252 2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
253
254         * Makefile.in: Rebuilt.
255         * configure: Likewise.
256         * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
257         the right type.
258
259 2003-11-21  Andreas Jaeger  <aj@suse.de>
260             Andreas Tobler  <a.tobler@schweiz.ch>
261
262         * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
263         * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
264         * Makefile.in: Rebuilt.
265         * aclocal.m4: Likewise.
266         * configure: Likewise.
267         * fficonfig.h.in: Likewise.
268         * testsuite/lib/libffi-dg.exp: Add include dir.
269         * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
270         * testsuite/libffi.special/ffitestcxx.h: Likewise.
271         * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
272         for ffi_closure if available.
273         * testsuite/libffi.call/closure_fn1.c: Likewise.
274         * testsuite/libffi.call/closure_fn2.c: Likewise.
275         * testsuite/libffi.call/closure_fn3.c: Likewise.
276         * testsuite/libffi.call/closure_fn4.c: Likewise.
277         * testsuite/libffi.call/closure_fn5.c: Likewise.
278         * testsuite/libffi.call/cls_12byte.c: Likewise.
279         * testsuite/libffi.call/cls_16byte.c: Likewise.
280         * testsuite/libffi.call/cls_18byte.c: Likewise.
281         * testsuite/libffi.call/cls_19byte.c: Likewise.
282         * testsuite/libffi.call/cls_1_1byte.c: Likewise.
283         * testsuite/libffi.call/cls_20byte.c: Likewise.
284         * testsuite/libffi.call/cls_20byte1.c: Likewise.
285         * testsuite/libffi.call/cls_24byte.c: Likewise.
286         * testsuite/libffi.call/cls_2byte.c: Likewise.
287         * testsuite/libffi.call/cls_3_1byte.c: Likewise.
288         * testsuite/libffi.call/cls_3byte1.c: Likewise.
289         * testsuite/libffi.call/cls_3byte2.c: Likewise.
290         * testsuite/libffi.call/cls_4_1byte.c: Likewise.
291         * testsuite/libffi.call/cls_4byte.c: Likewise.
292         * testsuite/libffi.call/cls_5byte.c: Likewise.
293         * testsuite/libffi.call/cls_64byte.c: Likewise.
294         * testsuite/libffi.call/cls_6byte.c: Likewise.
295         * testsuite/libffi.call/cls_7byte.c: Likewise.
296         * testsuite/libffi.call/cls_8byte.c: Likewise.
297         * testsuite/libffi.call/cls_9byte1.c: Likewise.
298         * testsuite/libffi.call/cls_9byte2.c: Likewise.
299         * testsuite/libffi.call/cls_double.c: Likewise.
300         * testsuite/libffi.call/cls_float.c: Likewise.
301         * testsuite/libffi.call/cls_schar.c: Likewise.
302         * testsuite/libffi.call/cls_sint.c: Likewise.
303         * testsuite/libffi.call/cls_sshort.c: Likewise.
304         * testsuite/libffi.call/cls_uchar.c: Likewise.
305         * testsuite/libffi.call/cls_uint.c: Likewise.
306         * testsuite/libffi.call/cls_ulonglong.c: Likewise.
307         * testsuite/libffi.call/cls_ushort.c: Likewise.
308         * testsuite/libffi.call/nested_struct.c: Likewise.
309         * testsuite/libffi.call/nested_struct1.c: Likewise.
310         * testsuite/libffi.call/nested_struct2.c: Likewise.
311         * testsuite/libffi.call/nested_struct3.c: Likewise.
312         * testsuite/libffi.call/problem1.c: Likewise.
313         * testsuite/libffi.special/unwindtest.cc: Likewise.
314
315 2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
316
317         * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
318
319 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
320
321         * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
322         Add -lgcc_s to additional flags.
323
324 2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
325
326         * configure.in, include/Makefile.am: PR libgcj/11147, install
327         the ffitarget.h header file in a gcc versioned and target
328         dependent place.
329         * configure: Regenerated.
330         * Makefile.in, include/Makefile.in: Likewise.
331         * testsuite/Makefile.in: Likewise.
332
333 2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
334
335         * testsuite/libffi.call/closure_fn0.c: Print result and check
336         with dg-output to make debugging easier.
337         * testsuite/libffi.call/closure_fn1.c: Likewise.
338         * testsuite/libffi.call/closure_fn2.c: Likewise.
339         * testsuite/libffi.call/closure_fn3.c: Likewise.
340         * testsuite/libffi.call/closure_fn4.c: Likewise.
341         * testsuite/libffi.call/closure_fn5.c: Likewise.
342         * testsuite/libffi.call/cls_12byte.c: Likewise.
343         * testsuite/libffi.call/cls_16byte.c: Likewise.
344         * testsuite/libffi.call/cls_18byte.c: Likewise.
345         * testsuite/libffi.call/cls_19byte.c: Likewise.
346         * testsuite/libffi.call/cls_1_1byte.c: Likewise.
347         * testsuite/libffi.call/cls_20byte.c: Likewise.
348         * testsuite/libffi.call/cls_20byte1.c: Likewise.
349         * testsuite/libffi.call/cls_24byte.c: Likewise.
350         * testsuite/libffi.call/cls_2byte.c: Likewise.
351         * testsuite/libffi.call/cls_3_1byte.c: Likewise.
352         * testsuite/libffi.call/cls_3byte1.c: Likewise.
353         * testsuite/libffi.call/cls_3byte2.c: Likewise.
354         * testsuite/libffi.call/cls_4_1byte.c: Likewise.
355         * testsuite/libffi.call/cls_4byte.c: Likewise.
356         * testsuite/libffi.call/cls_5byte.c: Likewise.
357         * testsuite/libffi.call/cls_64byte.c: Likewise.
358         * testsuite/libffi.call/cls_6byte.c: Likewise.
359         * testsuite/libffi.call/cls_7byte.c: Likewise.
360         * testsuite/libffi.call/cls_8byte.c: Likewise.
361         * testsuite/libffi.call/cls_9byte1.c: Likewise.
362         * testsuite/libffi.call/cls_9byte2.c: Likewise.
363         * testsuite/libffi.call/cls_double.c: Likewise.
364         * testsuite/libffi.call/cls_float.c: Likewise.
365         * testsuite/libffi.call/cls_schar.c: Likewise.
366         * testsuite/libffi.call/cls_sint.c: Likewise.
367         * testsuite/libffi.call/cls_sshort.c: Likewise.
368         * testsuite/libffi.call/cls_uchar.c: Likewise.
369         * testsuite/libffi.call/cls_uint.c: Likewise.
370         * testsuite/libffi.call/cls_ulonglong.c: Likewise.
371         * testsuite/libffi.call/cls_ushort.c: Likewise.
372         * testsuite/libffi.call/problem1.c: Likewise.
373
374         * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
375         static.
376
377 2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
378
379         * testsuite/libffi.call/cls_9byte2.c: New test case.
380         * testsuite/libffi.call/cls_9byte1.c: Likewise.
381         * testsuite/libffi.call/cls_64byte.c: Likewise.
382         * testsuite/libffi.call/cls_20byte1.c: Likewise.
383         * testsuite/libffi.call/cls_19byte.c: Likewise.
384         * testsuite/libffi.call/cls_18byte.c: Likewise.
385         * testsuite/libffi.call/closure_fn4.c: Likewise.
386         * testsuite/libffi.call/closure_fn5.c: Likewise.
387         * testsuite/libffi.call/cls_schar.c: Likewise.
388         * testsuite/libffi.call/cls_sint.c: Likewise.
389         * testsuite/libffi.call/cls_sshort.c: Likewise.
390         * testsuite/libffi.call/nested_struct2.c: Likewise.
391         * testsuite/libffi.call/nested_struct3.c: Likewise.
392
393 2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
394
395         * testsuite/libffi.call/cls_double.c: Do a check on the result.
396         * testsuite/libffi.call/cls_uchar.c: Likewise.
397         * testsuite/libffi.call/cls_uint.c: Likewise.
398         * testsuite/libffi.call/cls_ulonglong.c: Likewise.
399         * testsuite/libffi.call/cls_ushort.c: Likewise.
400         * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
401
402 2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
403
404         * src/prep_cif.c (ffi_prep_cif): Move the validity check after
405         the initialization.
406
407 2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
408
409         * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
410         FFI_ASSERT(FALSE) with FFI_ASSERT(0).
411
412 2003-10-22  David Daney  <ddaney@avtrex.com>
413
414         * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
415         __attribute__((__mode__(__SI__))) and friends.
416
417 2003-10-22  Andreas Schwab  <schwab@suse.de>
418
419         * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
420
421 2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
422
423         * configure.in: AC_LINK_FILES(ffitarget.h).
424         * configure: Regenerate.
425         * Makefile.in: Likewise.
426         * include/Makefile.in: Likewise.
427         * testsuite/Makefile.in: Likewise.
428         * fficonfig.h.in: Likewise.
429
430 2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
431             Richard Henderson  <rth@redhat.com>
432
433         Avoid that ffi.h includes fficonfig.h.
434
435         * Makefile.am (EXTRA_DIST): Include ffitarget.h files
436         (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
437         (TARGET_SRC_MIPS_SGI): Removed.
438         (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
439         (MIPS_SGI): Removed.
440         (CLEANFILES): Removed.
441         (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
442         targets.
443         * acconfig.h: Removed.
444         * configure.in: Compute sizeofs only for double and long double.
445         Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
446         into AC_DEFINE instead of using acconfig.h.  Create
447         include/ffitarget.h instead of include/fficonfig.h.  Rename
448         MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
449         AC_DEFINE EH_FRAME_FLAGS.
450         * include/Makefile.am (DISTCLEANFILES): New automake macro.
451         (hack_DATA): Add ffitarget.h.
452         * include/ffi.h.in: Remove all system specific definitions.
453         Declare raw API even if it is not installed, why bother?
454         Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
455         not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
456         ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
457         (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
458         * include/ffi_common.h (bool): Do not define.
459         (ffi_assert): Accept failed assertion.
460         (ffi_type_test): Return void and accept file/line.
461         (FFI_ASSERT): Pass stringized failed assertion.
462         (FFI_ASSERT_AT): New macro.
463         (FFI_ASSERT_VALID_TYPE): New macro.
464         (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
465         UINT64, SINT64): Define here with gcc's __attribute__ macro
466         instead of in ffi.h
467         (FLOAT32, ALIGN): Define here instead of in ffi.h
468         * include/ffi-mips.h: Removed.  Its content moved to
469         src/mips/ffitarget.h after separating assembly and C sections.
470         * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
471         src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
472         src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
473         src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
474         SIZEOF_ARG -> FFI_SIZEOF_ARG.
475         * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
476         * src/debug.c (ffi_assert): Accept stringized failed assertion.
477         (ffi_type_test): Rewritten.
478         * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
479         FFI_ASSERT_VALID_TYPE.
480         * src/alpha/ffitarget.h, src/arm/ffitarget.h,
481         src/ia64/ffitarget.h, src/m68k/ffitarget.h,
482         src/mips/ffitarget.h, src/powerpc/ffitarget.h,
483         src/s390/ffitarget.h, src/sh/ffitarget.h,
484         src/sh64/ffitarget.h, src/sparc/ffitarget.h,
485         src/x86/ffitarget.h: New files.
486         * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
487         src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
488         src/powerpc/aix.S, src/powerpc/darwin.S,
489         src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
490         src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
491         src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
492         src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
493         src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
494         include fficonfig.h
495
496 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
497
498         * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
499         _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
500
501 2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
502
503         * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
504         Used when FFI_DEBUG = 1.
505
506 2003-10-14  Alan Modra  <amodra@bigpond.net.au>
507
508         * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
509         and align.
510
511 2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
512
513         * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
514         FFI_MIPS_O32 for O32 ABI.
515
516 2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
517
518         * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
519         SPARC64. Cleanup whitespaces.
520
521 2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
522
523         * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
524         strongarm, xscale. Cleanup whitespaces.
525         * testsuite/libffi.call/closure_fn1.c: Likewise.
526         * testsuite/libffi.call/closure_fn2.c: Likewise.
527         * testsuite/libffi.call/closure_fn3.c: Likewise.
528         * testsuite/libffi.call/cls_12byte.c: Likewise.
529         * testsuite/libffi.call/cls_16byte.c: Likewise.
530         * testsuite/libffi.call/cls_1_1byte.c: Likewise.
531         * testsuite/libffi.call/cls_20byte.c: Likewise.
532         * testsuite/libffi.call/cls_24byte.c: Likewise.
533         * testsuite/libffi.call/cls_2byte.c: Likewise.
534         * testsuite/libffi.call/cls_3_1byte.c: Likewise.
535         * testsuite/libffi.call/cls_3byte1.c: Likewise.
536         * testsuite/libffi.call/cls_3byte2.c: Likewise.
537         * testsuite/libffi.call/cls_4_1byte.c: Likewise.
538         * testsuite/libffi.call/cls_4byte.c: Likewise.
539         * testsuite/libffi.call/cls_5byte.c: Likewise.
540         * testsuite/libffi.call/cls_6byte.c: Likewise.
541         * testsuite/libffi.call/cls_7byte.c: Likewise.
542         * testsuite/libffi.call/cls_8byte.c: Likewise.
543         * testsuite/libffi.call/cls_double.c: Likewise.
544         * testsuite/libffi.call/cls_float.c: Likewise.
545         * testsuite/libffi.call/cls_uchar.c: Likewise.
546         * testsuite/libffi.call/cls_uint.c: Likewise.
547         * testsuite/libffi.call/cls_ulonglong.c: Likewise.
548         * testsuite/libffi.call/cls_ushort.c: Likewise.
549         * testsuite/libffi.call/nested_struct.c: Likewise.
550         * testsuite/libffi.call/nested_struct1.c: Likewise.
551         * testsuite/libffi.call/problem1.c: Likewise.
552         * testsuite/libffi.special/unwindtest.cc: Likewise.
553         * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
554
555 2003-09-18  David Edelsohn  <edelsohn@gnu.org>
556
557         * src/powerpc/aix.S: Cleanup whitespaces.
558         * src/powerpc/aix_closure.S: Likewise.
559
560 2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
561
562         * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
563         * src/powerpc/darwin_closure.S: Likewise.
564         * src/powerpc/ffi_darwin.c: Likewise.
565
566 2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
567             David Edelsohn  <edelsohn@gnu.org>
568
569         * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
570         * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
571         parameter stack.
572         * src/powerpc/darwin_closure.S: Likewise.
573         * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
574         according to the Darwin/AIX ABI.
575         (ffi_prep_cif_machdep): Likewise.
576         (ffi_closure_helper_DARWIN): Likewise.
577         Remove the outgoing parameter stack logic. Simplify the evaluation
578         of the different CASE types.
579         (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
580         statement in the trampoline code.
581
582 2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
583
584         * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
585         for the register size.
586         (ffi_closure_helper_SYSV): Handle the structure return value
587         address correctly.
588         (ffi_closure_helper_SYSV): Return the appropriate type when
589         the registers are used for the structure return value.
590         * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
591         the 64-bit return value.  Update copyright years.
592
593 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
594
595         * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
596         srcdir for ffi_mips.h.
597
598 2003-09-12  Alan Modra  <amodra@bigpond.net.au>
599
600         * src/prep_cif.c (initialize_aggregate): Include tail padding in
601         structure size.
602         * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
603         placement of float result.
604         * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
605         cast of "resp" for big-endian 64 bit machines.
606
607 2003-09-11  Alan Modra  <amodra@bigpond.net.au>
608
609         * src/types.c (double, longdouble): Merge identical SH and ARM
610         typedefs, and add POWERPC64.
611         * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
612         struct split over gpr and rest.
613         (ffi_prep_cif_machdep): Correct intarg_count for structures.
614         * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
615
616 2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
617
618         * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
619         passing correctly.
620
621 2003-09-09  Alan Modra  <amodra@bigpond.net.au>
622
623         * configure: Regenerate.
624
625 2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
626
627         * Makefile.am: Remove build rules for ffitest.
628         * Makefile.in: Rebuilt.
629
630 2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
631
632         * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
633         about implicit declaration of abort().
634
635 2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
636
637         * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
638         * Makefile.in: Rebuilt.
639         * configure.in: Add dejagnu test framework.
640         * configure: Rebuilt.
641
642         * testsuite/Makefile.am: New file.
643         * testsuite/Makefile.in: Built
644         * testsuite/lib/libffi-dg.exp: New file.
645         * testsuite/config/default.exp: Likewise.
646         * testsuite/libffi.call/call.exp: Likewise.
647         * testsuite/libffi.call/ffitest.h: Likewise.
648         * testsuite/libffi.call/closure_fn0.c: Likewise.
649         * testsuite/libffi.call/closure_fn1.c: Likewise.
650         * testsuite/libffi.call/closure_fn2.c: Likewise.
651         * testsuite/libffi.call/closure_fn3.c: Likewise.
652         * testsuite/libffi.call/cls_1_1byte.c: Likewise.
653         * testsuite/libffi.call/cls_3_1byte.c: Likewise.
654         * testsuite/libffi.call/cls_4_1byte.c: Likewise.
655         * testsuite/libffi.call/cls_2byte.c: Likewise.
656         * testsuite/libffi.call/cls_3byte1.c: Likewise.
657         * testsuite/libffi.call/cls_3byte2.c: Likewise.
658         * testsuite/libffi.call/cls_4byte.c: Likewise.
659         * testsuite/libffi.call/cls_5byte.c: Likewise.
660         * testsuite/libffi.call/cls_6byte.c: Likewise.
661         * testsuite/libffi.call/cls_7byte.c: Likewise.
662         * testsuite/libffi.call/cls_8byte.c: Likewise.
663         * testsuite/libffi.call/cls_12byte.c: Likewise.
664         * testsuite/libffi.call/cls_16byte.c: Likewise.
665         * testsuite/libffi.call/cls_20byte.c: Likewise.
666         * testsuite/libffi.call/cls_24byte.c: Likewise.
667         * testsuite/libffi.call/cls_double.c: Likewise.
668         * testsuite/libffi.call/cls_float.c: Likewise.
669         * testsuite/libffi.call/cls_uchar.c: Likewise.
670         * testsuite/libffi.call/cls_uint.c: Likewise.
671         * testsuite/libffi.call/cls_ulonglong.c: Likewise.
672         * testsuite/libffi.call/cls_ushort.c: Likewise.
673         * testsuite/libffi.call/float.c: Likewise.
674         * testsuite/libffi.call/float1.c: Likewise.
675         * testsuite/libffi.call/float2.c: Likewise.
676         * testsuite/libffi.call/many.c: Likewise.
677         * testsuite/libffi.call/many_win32.c: Likewise.
678         * testsuite/libffi.call/nested_struct.c: Likewise.
679         * testsuite/libffi.call/nested_struct1.c: Likewise.
680         * testsuite/libffi.call/pyobjc-tc.c: Likewise.
681         * testsuite/libffi.call/problem1.c: Likewise.
682         * testsuite/libffi.call/promotion.c: Likewise.
683         * testsuite/libffi.call/return_ll.c: Likewise.
684         * testsuite/libffi.call/return_sc.c: Likewise.
685         * testsuite/libffi.call/return_uc.c: Likewise.
686         * testsuite/libffi.call/strlen.c: Likewise.
687         * testsuite/libffi.call/strlen_win32.c: Likewise.
688         * testsuite/libffi.call/struct1.c: Likewise.
689         * testsuite/libffi.call/struct2.c: Likewise.
690         * testsuite/libffi.call/struct3.c: Likewise.
691         * testsuite/libffi.call/struct4.c: Likewise.
692         * testsuite/libffi.call/struct5.c: Likewise.
693         * testsuite/libffi.call/struct6.c: Likewise.
694         * testsuite/libffi.call/struct7.c: Likewise.
695         * testsuite/libffi.call/struct8.c: Likewise.
696         * testsuite/libffi.call/struct9.c: Likewise.
697         * testsuite/libffi.special/special.exp: New file.
698         * testsuite/libffi.special/ffitestcxx.h: Likewise.
699         * testsuite/libffi.special/unwindtest.cc: Likewise.
700
701
702 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
703
704         * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
705         copyright years.
706
707 2003-08-02  Alan Modra  <amodra@bigpond.net.au>
708
709         * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
710         structure passing.
711         (ffi_closure_helper_LINUX64): Likewise.
712         * src/powerpc/linux64.S: Remove code writing to parm save area.
713         * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
714         address in lr from ffi_closure_helper_LINUX64 call to calculate
715         table address.  Optimize function tail.
716
717 2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
718
719         * src/sparc/ffi.c: Handle all floating point registers.
720         * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
721
722 2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
723
724         * README: Note that libffi is not part of GCC.  Update the project
725         URL and status.
726
727 2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
728
729         * src/powerpc/ppc_closure.S: Include ffi.h.
730
731 2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
732
733         * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
734         Use C style comments.
735
736 2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
737
738         * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
739         * Makefile.in: Regenerate.
740         * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
741         * configure: Regenerate.
742         * include/ffi.h.in: Add SHmedia support.
743         * src/sh64/ffi.c: New file.
744         * src/sh64/sysv.S: New file.
745
746 2003-05-16  Jakub Jelinek  <jakub@redhat.com>
747
748         * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
749         should be read-only.
750         * configure: Rebuilt.
751         * fficonfig.h.in: Rebuilt.
752         * include/ffi.h.in (EH_FRAME_FLAGS): Define.
753         * src/alpha/osf.S: Use EH_FRAME_FLAGS.
754         * src/powerpc/linux64.S: Likewise.
755         * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
756         * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
757         if -fpic/-fPIC/-mrelocatable.
758         * src/powerpc/powerpc_closure.S: Likewise.
759         * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
760         #write in .eh_frame flags.
761         * src/sparc/v9.S: Likewise.
762         * src/x86/unix64.S: Use EH_FRAME_FLAGS.
763         * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
764         * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
765
766 2003-05-07  Jeff Sturm  <jsturm@one-point.com>
767
768         Fixes PR bootstrap/10656
769         * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
770         support for .register pseudo-op.
771         * src/sparc/v8.S: Use it.
772         * fficonfig.h.in: Rebuilt.
773         * configure: Rebuilt.
774
775 2003-04-18  Jakub Jelinek  <jakub@redhat.com>
776
777         * include/ffi.h.in (POWERPC64): Define if 64-bit.
778         (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
779         Make it the default on POWERPC64.
780         (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
781         * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
782         * configure: Rebuilt.
783         * src/powerpc/ffi.c (hidden): Define.
784         (ffi_prep_args_SYSV): Renamed from
785         ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
786         (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
787         ASM_NEEDS_REGISTERS64): New.
788         (ffi_prep_args64): New function.
789         (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
790         (ffi_call): Likewise.
791         (ffi_prep_closure): Likewise.
792         (flush_icache): Surround by #ifndef POWERPC64.
793         (ffi_dblfl): New union type.
794         (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
795         (ffi_closure_helper_LINUX64): New function.
796         * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
797         __powerpc64__.
798         * src/powerpc/sysv.S: Likewise.
799         (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
800         * src/powerpc/linux64.S: New file.
801         * src/powerpc/linux64_closure.S: New file.
802         * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
803         src/powerpc/linux64_closure.S.
804         (TARGET_SRC_POWERPC): Likewise.
805
806         * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
807         closure_test_fn3): Fix result printing on big-endian 64-bit
808         machines.
809         (main): Print tst2_arg instead of uninitialized tst2_result.
810
811         * src/ffitest.c (main): Hide what closure pointer really points to
812         from the compiler.
813
814 2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
815
816         * configure.in (arm-*-netbsdelf*): Add configuration.
817         (configure): Regenerated.
818
819 2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
820
821         * include/Makefile.in: Regenerate.
822
823 2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
824
825         * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
826         bit mode.
827         * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
828         Receive closure pointer through parameter, read args using
829         __builtin_dwarf_cfa.
830         (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
831
832 2003-03-12  Andreas Schwab  <schwab@suse.de>
833
834         * configure.in: Avoid trailing /. in toolexeclibdir.
835         * configure: Rebuilt.
836
837 2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
838
839         * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
840
841 2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
842
843         * libffi/src/powerpc/darwin_closure.S:
844         Fix alignement bug, allocate 8 bytes for the result.
845         * libffi/src/powerpc/aix_closure.S:
846         Likewise.
847         * libffi/src/powerpc/ffi_darwin.c:
848         Update stackframe description for aix/darwin_closure.S.
849
850 2003-02-06  Jakub Jelinek  <jakub@redhat.com>
851
852         * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
853         attribute.
854
855 2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
856             Andreas Schwab  <schwab@suse.de>
857
858         * configure.in: Adjust command to source config-ml.in to account
859         for changes to the libffi_basedir definition.
860         (libffi_basedir): Remove ${srcdir} from value and include trailing
861         slash if nonempty.
862
863         * configure: Regenerate.
864
865 2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
866
867         * src/powerpc/ppc_closure.S: Recode to fit shared libs.
868
869 2003-01-28  Andrew Haley  <aph@redhat.com>
870
871         * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
872         * src/x86/ffi64.c (ffi_prep_closure): New.
873         (ffi_closure_UNIX64_inner): New.
874         * src/x86/unix64.S (ffi_closure_UNIX64): New.
875
876 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
877
878         * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
879         Remove USE_LIBDIR conditional.
880         * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
881         * Makefile.in, configure: Rebuilt.
882
883 2003-01027  David Edelsohn  <edelsohn@gnu.org>
884
885         * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
886         * Makefile.in: Regenerate.
887
888 2003-01-22  Andrew Haley  <aph@redhat.com>
889
890         * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
891         unwind info.
892
893 2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
894
895         * src/powerpc/darwin.S: Add unwind info.
896         * src/powerpc/darwin_closure.S: Likewise.
897
898 2003-01-14  Andrew Haley  <aph@redhat.com>
899
900         * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
901         (ffi_prep_cif_machdep): Likewise.
902         * src/x86/unix64.S: Add unwind info.
903
904 2003-01-14  Andreas Jaeger  <aj@suse.de>
905
906         * src/ffitest.c (main): Only use ffi_closures if those are
907         supported.
908
909 2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
910
911         * libffi/src/ffitest.c
912          add closure testcases
913
914 2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
915
916         * libffi/src/powerpc/ffi.c
917          fix alignment bug for float (4 byte aligned iso 8 byte)
918
919 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
920
921         * src/powerpc/ffi_darwin.c: Remove RCS version string.
922         * src/powerpc/darwin.S: Remove RCS version string.
923
924 2003-01-03  Jeff Sturm  <jsturm@one-point.com>
925
926         * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
927         * src/ffitest.c (main): Use static storage for closure.
928         * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
929         * src/sparc/v8.S (ffi_closure_v8): New.
930         * src/sparc/v9.S (ffi_closure_v9): New.
931
932 2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
933
934         * include/ffi.h.in: Added FFI_STDCALL ffi_type
935           enumeration for X86_WIN32.
936         * src/x86/win32.S: Added ffi_call_STDCALL function
937           definition.
938         * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
939           switch cases for recognising FFI_STDCALL and
940           calling ffi_call_STDCALL if target is X86_WIN32.
941         * src/ffitest.c (my_stdcall_strlen/stdcall_many):
942           stdcall versions of the "my_strlen" and "many"
943           test functions (for X86_WIN32).
944           Added test cases to test stdcall invocation using
945           these functions.
946
947 2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
948
949         * src/sh/sysv.S: Add DWARF2 unwind info.
950
951 2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
952
953         * src/s390/sysv.S (.eh_frame section): Make section read-only.
954
955 2002-11-26  Jim Wilson  <wilson@redhat.com>
956
957         * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
958
959 2002-11-23  H.J. Lu <hjl@gnu.org>
960
961         * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
962         Include ../config/accross.m4.
963         * aclocal.m4; Rebuild.
964         * configure: Likewise.
965
966 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
967
968         * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
969
970 2002-11-11  DJ Delorie  <dj@redhat.com>
971
972         * configure.in: Look for common files in the right place.
973
974 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
975
976         * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
977         raw data as _Jv_word values, not ffi_raw.
978         (ffi_java_ptrarray_to_raw): Likewise.
979         (ffi_java_rvalue_to_raw): New function.
980         (ffi_java_raw_call): Call it.
981         (ffi_java_raw_to_rvalue): New function.
982         (ffi_java_translate_args): Call it.
983         * src/ffitest.c (closure_test_fn): Interpret return value
984         as ffi_arg, not int.
985         * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
986         FFI_TYPE_POINTER case.
987         (ffi_closure_helper_SYSV): Likewise.  Also, assume return
988         values extended to word size.
989
990 2002-10-02  Andreas Jaeger  <aj@suse.de>
991
992         * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
993
994 2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
995
996         * include/ffi.h.in: Fix i386 win32 compilation.
997
998 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
999
1000         * configure.in: Add s390x-*-linux-* target.
1001         * configure: Regenerate.
1002         * include/ffi.h.in: Define S390X for s390x targets.
1003         (FFI_CLOSURES): Define for s390/s390x.
1004         (FFI_TRAMPOLINE_SIZE): Likewise.
1005         (FFI_NATIVE_RAW_API): Likewise.
1006         * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
1007         * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
1008         * src/s390/ffi.c: Major rework of existing code.  Add support for
1009         s390x targets.  Add closure support.
1010         * src/s390/sysv.S: Likewise.
1011
1012 2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
1013
1014         * src/arm/sysv.S: Fix typo.
1015
1016 2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
1017
1018         * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
1019         has defined __USER_LABEL_PREFIX__, then use it in CNAME.
1020         (ffi_call_SYSV): Handle soft-float.
1021
1022 2002-09-27  Bo Thorsen  <bo@suse.de>
1023
1024         * include/ffi.h.in: Fix multilib x86-64 support.
1025
1026 2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1027
1028         * Makefile.am (all-multi): Fix multilib parallel build.
1029
1030 2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
1031
1032         * configure.in (sh[34]*-*-linux*): Add brackets.
1033         * configure: Regenerate.
1034
1035 2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
1036
1037         * Makefile.am: Add SH support.
1038         * Makefile.in: Regenerate.
1039         * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
1040         * configure: Regenerate.
1041         * include/ffi.h.in: Add SH support.
1042         * src/sh/ffi.c: New file.
1043         * src/sh/sysv.S: New file.
1044         * src/types.c: Add SH support.
1045
1046 2002-07-16  Bo Thorsen  <bo@suse.de>
1047
1048         * src/x86/ffi64.c: New file that adds x86-64 support.
1049         * src/x86/unix64.S: New file that handles argument setup for
1050         x86-64.
1051         * src/x86/sysv.S: Don't use this on x86-64.
1052         * src/x86/ffi.c: Don't use this on x86-64.
1053         Remove unused vars.
1054         * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
1055         for x86-64.
1056         * src/ffitest.c (struct6): New test that tests a special case in
1057         the x86-64 ABI.
1058         (struct7): Likewise.
1059         (struct8): Likewise.
1060         (struct9): Likewise.
1061         (closure_test_fn): Silence warning about this when it's not used.
1062         (main): Add the new tests.
1063         (main): Fix a couple of wrong casts and silence some compiler warnings.
1064         * include/ffi.h.in: Add x86-64 ABI definition.
1065         * fficonfig.h.in: Regenerate.
1066         * Makefile.am: Add x86-64 support.
1067         * configure.in: Likewise.
1068         * Makefile.in: Regenerate.
1069         * configure: Likewise.
1070
1071 2002-06-24  Bo Thorsen  <bo@suse.de>
1072
1073         * src/types.c: Merge settings for similar architectures.
1074         Add x86-64 sizes and alignments.
1075
1076 2002-06-23  Bo Thorsen  <bo@suse.de>
1077
1078         * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
1079         * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
1080         * src/mips/ffi.c (ffi_prep_args): Likewise.
1081         * src/m68k/ffi.c (ffi_prep_args): Likewise.
1082
1083 2002-07-18  H.J. Lu  (hjl@gnu.org)
1084
1085         * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
1086         (libffi_la_SOURCES): Support MIPS_LINUX.
1087         (libffi_convenience_la_SOURCES): Likewise.
1088         * Makefile.in: Regenerated.
1089
1090         * configure.in (mips64*-*): Skip.
1091         (mips*-*-linux*): New.
1092         * configure: Regenerated.
1093
1094         * src/mips/ffi.c: Include <sgidefs.h>.
1095
1096 2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
1097
1098         * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
1099
1100 2002-05-27  Roger Sayle  <roger@eyesopen.com>
1101
1102         * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
1103
1104 2002-05-27  Bo Thorsen  <bo@suse.de>
1105
1106         * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
1107         fix formatting.
1108
1109 2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
1110
1111         * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
1112         beginning of function (for older apple cc).
1113
1114 2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
1115
1116         * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
1117         script entry, and set LD to it when configuring multilibs.
1118         * configure: Rebuilt.
1119
1120 2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
1121
1122         * configure.in (sparc64-*-netbsd*): Add target.
1123         (sparc-*-netbsdelf*): Likewise.
1124         * configure: Regenerate.
1125
1126 2002-04-28  David S. Miller  <davem@redhat.com>
1127
1128         * configure.in, configure: Fix SPARC test in previous change.
1129
1130 2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
1131
1132         * Makefile.am: Add Linux for S/390 support.
1133         * Makefile.in: Regenerate.
1134         * configure.in: Add Linux for S/390 support.
1135         * configure: Regenerate.
1136         * include/ffi.h.in: Add Linux for S/390 support.
1137         * src/s390/ffi.c: New file from libffi CVS tree.
1138         * src/s390/sysv.S: New file from libffi CVS tree.
1139
1140 2002-04-28  Jakub Jelinek  <jakub@redhat.com>
1141
1142         * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
1143         %r_disp32().
1144         * src/sparc/v8.S: Use it.
1145         * src/sparc/v9.S: Likewise.
1146         * fficonfig.h.in: Rebuilt.
1147         * configure: Rebuilt.
1148
1149 2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
1150
1151         * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
1152         correctly.
1153         * src/ia64/unix.S: Add unwind information. Fix comments.
1154         Save sp in a way that's compatible with unwind info.
1155         (ffi_call_unix): Correctly restore sp in all cases.
1156         * src/ia64/ffi.c: Add, fix comments.
1157
1158 2002-04-08  Jakub Jelinek  <jakub@redhat.com>
1159
1160         * src/sparc/v8.S: Make .eh_frame dependent on target word size.
1161
1162 2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
1163
1164         * configure.in (alpha*-*-netbsd*): Add target.
1165         * configure: Regenerate.
1166
1167 2002-04-04  Jeff Sturm  <jsturm@one-point.com>
1168
1169         * src/sparc/v8.S: Add unwind info.
1170         * src/sparc/v9.S: Likewise.
1171
1172 2002-03-30  Krister Walfridsson  <cato@df.lth.se>
1173
1174         * configure.in: Enable i*86-*-netbsdelf*.
1175         * configure: Rebuilt.
1176
1177 2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
1178
1179         PR other/2620
1180         * src/mips/n32.s: Delete
1181         * src/mips/o32.s: Delete
1182
1183 2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
1184
1185         * configure.in: Enable alpha*-*-freebsd*.
1186         * configure: Rebuilt.
1187
1188 2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1189
1190         * Makefile.am: libfficonvenience -> libffi_convenience.
1191         * Makefile.in: Rebuilt.
1192
1193         * Makefile.am: Define ffitest_OBJECTS.
1194         * Makefile.in: Rebuilt.
1195
1196 2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
1197             David Edelsohn  <edelsohn@gnu.org>
1198
1199         * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
1200         (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
1201         (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
1202         * Makefile.in: Regenerate.
1203         * include/ffi.h.in: Add AIX and Darwin closure definitions.
1204         * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
1205         (flush_icache, flush_range): New functions.
1206         (ffi_closure_helper_DARWIN): New function.
1207         * src/powerpc/aix_closure.S: New file.
1208         * src/powerpc/darwin_closure.S: New file.
1209
1210 2002-02-24  Jeff Sturm  <jsturm@one-point.com>
1211
1212         * include/ffi.h.in: Add typedef for ffi_arg.
1213         * src/ffitest.c (main): Declare rint with ffi_arg.
1214
1215 2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
1216
1217         * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
1218         number of GPRs for floating-point arguments.
1219
1220 2002-01-31  Anthony Green  <green@redhat.com>
1221
1222         * configure: Rebuilt.
1223         * configure.in: Replace CHECK_SIZEOF and endian tests with
1224         cross-compiler friendly macros.
1225         * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
1226         macros.
1227
1228 2002-01-18  David Edelsohn  <edelsohn@gnu.org>
1229
1230         * src/powerpc/darwin.S (_ffi_call_AIX): New.
1231         * src/powerpc/aix.S (ffi_call_DARWIN): New.
1232
1233 2002-01-17  David Edelsohn  <edelsohn@gnu.org>
1234
1235         * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
1236         (TARGET_SRC_POWERPC_AIX): New.
1237         (POWERPC_AIX): New stanza.
1238         * Makefile.in: Regenerate.
1239         * configure.in: Add AIX case.
1240         * configure: Regenerate.
1241         * include/ffi.h.in (ffi_abi): Add FFI_AIX.
1242         * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
1243         size.  Fix "long double" support.
1244         (ffi_call): Add FFI_AIX case.
1245         * src/powerpc/aix.S: New.
1246
1247 2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
1248
1249         Implement Darwin PowerPC ABI.
1250         * configure.in: Handle powerpc-*-darwin*.
1251         * Makefile.am: Set source files for POWERPC_DARWIN.
1252         * configure: Rebuilt.
1253         * Makefile.in: Rebuilt.
1254         * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
1255         POWERPC_DARWIN.
1256         * src/powerpc/darwin.S: New file.
1257         * src/powerpc/ffi_darwin.c: New file.
1258
1259 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1260
1261         * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
1262
1263 2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1264
1265         * src/x86/sysv.S: Avoid gas-only .balign directive.
1266         Use C style comments.
1267
1268 2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1269
1270         * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
1271         Fixes PR bootstrap/3563.
1272
1273 2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1274
1275         * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
1276
1277 2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1278
1279         * configure.in: Recognize sparc*-sun-* host.
1280         * configure: Regenerate.
1281
1282 2001-06-06  Andrew Haley  <aph@redhat.com>
1283
1284         * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
1285
1286 2001-06-03  Andrew Haley  <aph@redhat.com>
1287
1288         * src/alpha/osf.S: Add unwind info.
1289         * src/powerpc/sysv.S: Add unwind info.
1290         * src/powerpc/ppc_closure.S: Likewise.
1291
1292 2000-05-31  Jeff Sturm  <jsturm@one-point.com>
1293
1294         * configure.in: Fix AC_ARG_ENABLE usage.
1295         * configure: Rebuilt.
1296
1297 2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1298
1299         * configure.in: Remove warning about beta code.
1300         * configure: Rebuilt.
1301
1302 2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
1303
1304         * src/ia64/unix.S: Restore stack pointer when returning from
1305         ffi_closure_UNIX.
1306         * src/ia64/ffi.c: Fix typo in comment.
1307
1308 2001-04-18  Jim Wilson  <wilson@redhat.com>
1309
1310         * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
1311         to eliminate RAW DV.
1312
1313 2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
1314
1315         * Makefile.am: Make a libtool convenience library.
1316         * Makefile.in: Rebuilt.
1317
1318 2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
1319
1320         * configure.in: Use different syntax for subdirectory creation.
1321         * configure: Rebuilt.
1322
1323 2001-03-27  Jon Beniston  <jon@beniston.com>
1324
1325         * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
1326         * configure: Rebuilt.
1327         * Makefile.am: Added X86_WIN32 target support.
1328         * Makefile.in: Rebuilt.
1329
1330         * include/ffi.h.in: Added X86_WIN32 target support.
1331
1332         * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
1333         * src/types.c: Added X86_WIN32 target support.
1334
1335         * src/x86/win32.S: New file. Based on sysv.S, but with EH
1336         stuff removed and made to work with CygWin's gas.
1337
1338 2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
1339
1340         * configure.in: Make target subdirectory in build dir.
1341         * Makefile.am: Override suffix based rules to specify correct output
1342         subdirectory.
1343         * Makefile.in: Rebuilt.
1344         * configure: Rebuilt.
1345
1346 2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
1347
1348         * src/powerpc/ppc_closure.S: New file.
1349         * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
1350         involving long long and register pairs.
1351         (ffi_prep_closure): New function.
1352         (flush_icache): Likewise.
1353         (ffi_closure_helper_SYSV): Likewise.
1354         * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
1355         (FFI_TRAMPOLINE_SIZE): Likewise.
1356         (FFI_NATIVE_RAW_API): Likewise.
1357         * Makefile.in: Rebuilt.
1358         * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
1359         (TARGET_SRC_POWERPC): Likewise.
1360
1361 2001-03-19  Tom Tromey  <tromey@redhat.com>
1362
1363         * Makefile.in: Rebuilt.
1364         * Makefile.am (ffitest_LDFLAGS): New macro.
1365
1366 2001-03-02  Nick Clifton  <nickc@redhat.com>
1367
1368         * include/ffi.h.in: Remove RCS ident string.
1369         * include/ffi_mips.h: Remove RCS ident string.
1370         * src/debug.c: Remove RCS ident string.
1371         * src/ffitest.c: Remove RCS ident string.
1372         * src/prep_cif.c: Remove RCS ident string.
1373         * src/types.c: Remove RCS ident string.
1374         * src/alpha/ffi.c: Remove RCS ident string.
1375         * src/alpha/osf.S: Remove RCS ident string.
1376         * src/arm/ffi.c: Remove RCS ident string.
1377         * src/arm/sysv.S: Remove RCS ident string.
1378         * src/mips/ffi.c: Remove RCS ident string.
1379         * src/mips/n32.S: Remove RCS ident string.
1380         * src/mips/o32.S: Remove RCS ident string.
1381         * src/sparc/ffi.c: Remove RCS ident string.
1382         * src/sparc/v8.S: Remove RCS ident string.
1383         * src/sparc/v9.S: Remove RCS ident string.
1384         * src/x86/ffi.c: Remove RCS ident string.
1385         * src/x86/sysv.S: Remove RCS ident string.
1386
1387 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1388
1389         * include/ffi.h.in: Change sourceware.cygnus.com references to
1390         gcc.gnu.org.
1391
1392 2000-12-09  Richard Henderson  <rth@redhat.com>
1393
1394         * src/alpha/ffi.c (ffi_call): Simplify struct return test.
1395         (ffi_closure_osf_inner): Index rather than increment avalue
1396         and arg_types.  Give ffi_closure_osf the raw return value type.
1397         * src/alpha/osf.S (ffi_closure_osf): Handle return value type
1398         promotion.
1399
1400 2000-12-07  Richard Henderson  <rth@redhat.com>
1401
1402         * src/raw_api.c (ffi_translate_args): Fix typo.
1403         (ffi_prep_closure): Likewise.
1404
1405         * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
1406         FFI_TRAMPOLINE_SIZE.
1407         * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
1408         cif->bytes for new ffi_call_osf implementation.
1409         (ffi_prep_args): Absorb into ...
1410         (ffi_call): ... here.  Do all stack allocation here and
1411         avoid a callback function.
1412         (ffi_prep_closure, ffi_closure_osf_inner): New.
1413         * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
1414         (ffi_closure_osf): New.
1415
1416 2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
1417
1418         * config.guess, config.sub, install-sh: Removed.
1419         * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
1420         * Makefile.in: Rebuilt.
1421
1422         * acinclude.m4: Include libtool macros from the top level.
1423         * aclocal.m4, configure: Rebuilt.
1424
1425 2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
1426
1427         * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
1428         * configure: Rebuilt.
1429
1430 2000-05-11  Scott Bambrough  <scottb@netwinder.org>
1431
1432         * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
1433         memory correctly.  Use conditional instructions, not branches where
1434         possible.
1435
1436 2000-05-04  Tom Tromey  <tromey@cygnus.com>
1437
1438         * configure: Rebuilt.
1439         * configure.in: Match `arm*-*-linux-*'.
1440         From Chris Dornan <cdornan@arm.com>.
1441
1442 2000-04-28  Jakub Jelinek  <jakub@redhat.com>
1443
1444         * Makefile.am (SUBDIRS): Define.
1445         (AM_MAKEFLAGS): Likewise.
1446         (Multilib support.): Add section.
1447         * Makefile.in: Rebuilt.
1448         * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
1449         New variables. Set for gcc using -print-multi-lib. Export them
1450         to libtool.
1451         (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
1452         * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
1453         for -shared links.
1454         (extra_compiler_flags_value, extra_compiler_flags): Check these
1455         for extra compiler options which need to be passed down in
1456         compiler_flags.
1457
1458 2000-04-16  Anthony Green  <green@redhat.com>
1459
1460         * configure: Rebuilt.
1461         * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
1462
1463 2000-04-14  Jakub Jelinek  <jakub@redhat.com>
1464
1465         * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
1466         Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
1467         * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
1468         Replace all void * sizeofs with sizeof(int).
1469         Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
1470         different than DOUBLE.
1471         Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
1472         (ffi_prep_args_v9): New function.
1473         (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
1474         (ffi_V9_return_struct): New function.
1475         (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
1476         32bit code (not yet cross-arch calls).
1477         * src/sparc/v8.S: Add struct return delay nop.
1478         Handle long long.
1479         * src/sparc/v9.S: New file.
1480         * src/prep_cif.c (ffi_prep_cif): Return structure pointer
1481         is used on sparc64 only for structures larger than 32 bytes.
1482         Pass by reference for structures is done for structure arguments
1483         larger than 16 bytes.
1484         * src/ffitest.c (main): Use 64bit rint on sparc64.
1485         Run long long tests on sparc.
1486         * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
1487         sparc64.
1488         (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
1489         on sparc64.
1490         * configure.in (sparc-*-linux*): New supported target.
1491         (sparc64-*-linux*): Likewise.
1492         * configure: Rebuilt.
1493         * Makefile.am: Add v9.S to SPARC files.
1494         * Makefile.in: Likewise.
1495         (LINK): Surround $(CCLD) into double quotes, so that multilib
1496         compiles work correctly.
1497
1498 2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
1499
1500         * configure: Rebuilt.
1501         * configure.in: (i*86-*-solaris*): New libffi target. Patch
1502         proposed by Bryce McKinlay.
1503
1504 2000-03-20  Tom Tromey  <tromey@cygnus.com>
1505
1506         * Makefile.in: Hand edit for java_raw_api.lo.
1507
1508 2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
1509
1510         * config.guess, config.sub: Update from the gcc tree.
1511         Fix for PR libgcj/168.
1512
1513 2000-03-03  Tom Tromey  <tromey@cygnus.com>
1514
1515         * Makefile.in: Fixed ia64 by hand.
1516
1517         * configure: Rebuilt.
1518         * configure.in (--enable-multilib): New option.
1519         (libffi_basedir): New subst.
1520         (AC_OUTPUT): Added multilib code.
1521
1522 2000-03-02  Tom Tromey  <tromey@cygnus.com>
1523
1524         * Makefile.in: Rebuilt.
1525         * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
1526         directory name.
1527
1528 2000-02-25  Hans Boehm <boehm@acm.org>
1529
1530         * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
1531         files.
1532         * src/raw_api.c (ffi_translate_args): Fixed typo in argument
1533         list.
1534         (ffi_prep_raw_closure): Use ffi_translate_args, not
1535         ffi_closure_translate.
1536         * src/java_raw_api.c: New file.
1537         * src/ffitest.c (closure_test_fn): New function.
1538         (main): Define `rint' as long long on IA64.  Added new test when
1539         FFI_CLOSURES is defined.
1540         * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
1541         (ffi_abi): Recognize IA64.
1542         (ffi_raw): Added `flt' field.
1543         Added "Java raw API" code.
1544         * configure.in: Recognize ia64.
1545         * Makefile.am (TARGET_SRC_IA64): New macro.
1546         (libffi_la_common_SOURCES): Added java_raw_api.c.
1547         (libffi_la_SOURCES): Define in IA64 case.
1548
1549 2000-01-04  Tom Tromey  <tromey@cygnus.com>
1550
1551         * Makefile.in: Rebuilt with newer automake.
1552
1553 1999-12-31  Tom Tromey  <tromey@cygnus.com>
1554
1555         * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
1556
1557 1999-09-01  Tom Tromey  <tromey@cygnus.com>
1558
1559         * include/ffi.h.in: Removed PACKAGE and VERSION defines and
1560         undefs.
1561         * fficonfig.h.in: Rebuilt.
1562         * configure: Rebuilt.
1563         * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
1564         Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
1565         * acconfig.h: Don't #undef PACKAGE or VERSION.
1566
1567 1999-08-09  Anthony Green  <green@cygnus.com>
1568
1569         * include/ffi.h.in: Try to work around messy header problem
1570         with PACKAGE and VERSION.
1571
1572         * configure: Rebuilt.
1573         * configure.in: Change version to 2.00-beta.
1574
1575         * fficonfig.h.in: Rebuilt.
1576         * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
1577
1578         * src/x86/ffi.c (ffi_raw_call): Rename.
1579
1580 1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
1581
1582         * src/x86/ffi.c (ffi_closure_SYSV): New function.
1583         (ffi_prep_incoming_args_SYSV): Ditto.
1584         (ffi_prep_closure): Ditto.
1585         (ffi_closure_raw_SYSV): Ditto.
1586         (ffi_prep_raw_closure): More ditto.
1587         (ffi_call_raw): Final ditto.
1588
1589         * include/ffi.h.in: Add definitions for closure and raw API.
1590
1591         * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
1592         FFI_TYPE_UINT64.
1593
1594         * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
1595
1596         * src/raw_api.c: New file.
1597
1598         * include/ffi.h.in (ffi_raw): New type.
1599         (UINT_ARG, SINT_ARG): New defines.
1600         (ffi_closure, ffi_raw_closure): New types.
1601         (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
1602
1603         * configure.in: Add check for endianness and sizeof void*.
1604
1605         * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
1606         instead of directly.
1607
1608         * configure: Rebuilt.
1609
1610 Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
1611
1612         * configure.in: Add x86 and powerpc BeOS configurations.
1613         From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
1614
1615 1999-05-09  Anthony Green  <green@cygnus.com>
1616
1617         * configure.in: Add warning about this being beta code.
1618         Remove src/Makefile.am from the picture.
1619         * configure: Rebuilt.
1620
1621         * Makefile.am: Move logic from src/Makefile.am.  Add changes
1622         to support libffi as a target library.
1623         * Makefile.in: Rebuilt.
1624
1625         * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
1626         Upgraded to new autoconf, automake, libtool.
1627
1628         * README: Tweaks.
1629
1630         * LICENSE: Update copyright date.
1631
1632         * src/Makefile.am, src/Makefile.in: Removed.
1633
1634 1998-11-29  Anthony Green  <green@cygnus.com>
1635
1636         * include/ChangeLog: Removed.
1637         * src/ChangeLog: Removed.
1638         * src/mips/ChangeLog: Removed.
1639         * src/sparc/ChangeLog: Remboved.
1640         * src/x86/ChangeLog: Removed.
1641
1642         * ChangeLog.v1: Created.