OSDN Git Service

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