OSDN Git Service

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