OSDN Git Service

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