OSDN Git Service

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