OSDN Git Service

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