OSDN Git Service

2009-06-16 Andreas Tobler <a.tobler@schweiz.org>
[pf3gnuchains/gcc-fork.git] / libffi / ChangeLog
1 2009-06-16  Andreas Tobler  <a.tobler@schweiz.org>
2
3         PR libffi/40444
4         * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
5         allow_stack_execute for Darwin.
6
7 2009-06-16  Andrew Haley  <aph@redhat.com>
8
9         * configure.ac (TARGETDIR): Add missing blank lines.
10         * configure: Regenerate.
11
12 2009-06-16  Andrew Haley  <aph@redhat.com>
13
14         * testsuite/libffi.call/cls_align_sint64.c,
15         testsuite/libffi.call/cls_align_uint64.c,
16         testsuite/libffi.call/cls_longdouble_va.c,
17         testsuite/libffi.call/cls_ulonglong.c,
18         testsuite/libffi.call/return_ll1.c,
19         testsuite/libffi.call/stret_medium2.c: Fix printf format
20         specifiers.
21         * testsuite/libffi.call/ffitest.h,
22         testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
23
24 2009-06-15  Andrew Haley  <aph@redhat.com>
25
26         * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
27         * testsuite/libffi.call/err_bad_abi.c: Likewise.
28         
29 2009-06-12  Andrew Haley  <aph@redhat.com>
30
31         * Makefile.am: Remove info_TEXINFOS.
32
33 2009-06-12  Andrew Haley  <aph@redhat.com>
34
35         * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
36         testsuite/libffi.call/cls_align_uint64.c,
37         testsuite/libffi.call/cls_ulonglong.c,
38         testsuite/libffi.call/return_ll1.c,
39         testsuite/libffi.call/stret_medium2.c: Fix printf format
40         specifiers.
41         testsuite/libffi.special/unwindtest.cc: include stdint.h.
42
43 2009-06-11  Timothy Wall  <twall@users.sf.net>
44
45         * Makefile.am,
46         configure.ac,
47         include/ffi.h.in,
48         include/ffi_common.h,
49         src/closures.c,
50         src/dlmalloc.c,
51         src/x86/ffi.c,
52         src/x86/ffitarget.h,
53         src/x86/win64.S (new),
54         README: Added win64 support (mingw or MSVC)
55         * Makefile.in,
56         include/Makefile.in,
57         man/Makefile.in,
58         testsuite/Makefile.in,
59         configure,
60         aclocal.m4: Regenerated
61         * ltcf-c.sh: properly escape cygwin/w32 path
62         * man/ffi_call.3: Clarify size requirements for return value.
63         * src/x86/ffi64.c: Fix filename in comment.
64         * src/x86/win32.S: Remove unused extern.
65
66         * testsuite/libffi.call/closure_fn0.c,
67         testsuite/libffi.call/closure_fn1.c,
68         testsuite/libffi.call/closure_fn2.c,
69         testsuite/libffi.call/closure_fn3.c,
70         testsuite/libffi.call/closure_fn4.c,
71         testsuite/libffi.call/closure_fn5.c,
72         testsuite/libffi.call/closure_fn6.c,
73         testsuite/libffi.call/closure_stdcall.c,
74         testsuite/libffi.call/cls_12byte.c,
75         testsuite/libffi.call/cls_16byte.c,
76         testsuite/libffi.call/cls_18byte.c,
77         testsuite/libffi.call/cls_19byte.c,
78         testsuite/libffi.call/cls_1_1byte.c,
79         testsuite/libffi.call/cls_20byte.c,
80         testsuite/libffi.call/cls_20byte1.c,
81         testsuite/libffi.call/cls_24byte.c,
82         testsuite/libffi.call/cls_2byte.c,
83         testsuite/libffi.call/cls_3_1byte.c,
84         testsuite/libffi.call/cls_3byte1.c,
85         testsuite/libffi.call/cls_3byte2.c,
86         testsuite/libffi.call/cls_4_1byte.c,
87         testsuite/libffi.call/cls_4byte.c,
88         testsuite/libffi.call/cls_5_1_byte.c,
89         testsuite/libffi.call/cls_5byte.c,
90         testsuite/libffi.call/cls_64byte.c,
91         testsuite/libffi.call/cls_6_1_byte.c,
92         testsuite/libffi.call/cls_6byte.c,
93         testsuite/libffi.call/cls_7_1_byte.c,
94         testsuite/libffi.call/cls_7byte.c,
95         testsuite/libffi.call/cls_8byte.c,
96         testsuite/libffi.call/cls_9byte1.c,
97         testsuite/libffi.call/cls_9byte2.c,
98         testsuite/libffi.call/cls_align_double.c,
99         testsuite/libffi.call/cls_align_float.c,
100         testsuite/libffi.call/cls_align_longdouble.c,
101         testsuite/libffi.call/cls_align_longdouble_split.c,
102         testsuite/libffi.call/cls_align_longdouble_split2.c,
103         testsuite/libffi.call/cls_align_pointer.c,
104         testsuite/libffi.call/cls_align_sint16.c,
105         testsuite/libffi.call/cls_align_sint32.c,
106         testsuite/libffi.call/cls_align_sint64.c,
107         testsuite/libffi.call/cls_align_uint16.c,
108         testsuite/libffi.call/cls_align_uint32.c,
109         testsuite/libffi.call/cls_align_uint64.c,
110         testsuite/libffi.call/cls_dbls_struct.c,
111         testsuite/libffi.call/cls_double.c,
112         testsuite/libffi.call/cls_double_va.c,
113         testsuite/libffi.call/cls_float.c,
114         testsuite/libffi.call/cls_longdouble.c,
115         testsuite/libffi.call/cls_longdouble_va.c,
116         testsuite/libffi.call/cls_multi_schar.c,
117         testsuite/libffi.call/cls_multi_sshort.c,
118         testsuite/libffi.call/cls_multi_sshortchar.c,
119         testsuite/libffi.call/cls_multi_uchar.c,
120         testsuite/libffi.call/cls_multi_ushort.c,
121         testsuite/libffi.call/cls_multi_ushortchar.c,
122         testsuite/libffi.call/cls_pointer.c,
123         testsuite/libffi.call/cls_pointer_stack.c,
124         testsuite/libffi.call/cls_schar.c,
125         testsuite/libffi.call/cls_sint.c,
126         testsuite/libffi.call/cls_sshort.c,
127         testsuite/libffi.call/cls_uchar.c,
128         testsuite/libffi.call/cls_uint.c,
129         testsuite/libffi.call/cls_ulonglong.c,
130         testsuite/libffi.call/cls_ushort.c,
131         testsuite/libffi.call/err_bad_abi.c,
132         testsuite/libffi.call/err_bad_typedef.c,
133         testsuite/libffi.call/float2.c,
134         testsuite/libffi.call/huge_struct.c,
135         testsuite/libffi.call/nested_struct.c,
136         testsuite/libffi.call/nested_struct1.c,
137         testsuite/libffi.call/nested_struct10.c,
138         testsuite/libffi.call/nested_struct2.c,
139         testsuite/libffi.call/nested_struct3.c,
140         testsuite/libffi.call/nested_struct4.c,
141         testsuite/libffi.call/nested_struct5.c,
142         testsuite/libffi.call/nested_struct6.c,
143         testsuite/libffi.call/nested_struct7.c,
144         testsuite/libffi.call/nested_struct8.c,
145         testsuite/libffi.call/nested_struct9.c,
146         testsuite/libffi.call/problem1.c,
147         testsuite/libffi.call/return_ldl.c,
148         testsuite/libffi.call/return_ll1.c,
149         testsuite/libffi.call/stret_large.c,
150         testsuite/libffi.call/stret_large2.c,
151         testsuite/libffi.call/stret_medium.c,
152         testsuite/libffi.call/stret_medium2.c,
153         testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
154         of checking for MMAP.  Use intptr_t instead of long casts.
155
156 2009-06-11  Kaz Kojima  <kkojima@gcc.gnu.org>
157
158         * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
159         * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
160         * testsuite/libffi.call/err_bad_typedef.c: Likewise.
161
162 2009-06-09  Andrew Haley  <aph@redhat.com>
163
164         * src/x86/freebsd.S: Add missing file.
165
166 2009-06-08  Andrew Haley  <aph@redhat.com>
167
168         Import from libffi 3.0.8:
169
170         * doc/libffi.texi: New file.
171         * doc/libffi.info: Likewise.
172         * doc/stamp-vti: Likewise.
173         * man/Makefile.am: New file.
174         * man/ffi_call.3: New file.
175
176         * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
177         src/dlmalloc.c.
178         (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
179
180         * configure.ac: Bump version to 3.0.8.
181         parisc*-*-linux*: Add.
182         i386-*-freebsd* | i386-*-openbsd*: Add.
183         powerpc-*-beos*: Add.
184         AM_CONDITIONAL X86_FREEBSD: Add.
185         AC_CONFIG_FILES: Add man/Makefile.
186
187         * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
188
189 2009-06-08  Andrew Haley  <aph@redhat.com>
190
191         * README: Import from libffi 3.0.8.
192
193 2009-06-08  Andrew Haley  <aph@redhat.com>
194
195         * testsuite/libffi.call/err_bad_abi.c: Add xfails.
196         * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
197         * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
198         * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
199
200         * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
201         * testsuite/libffi.call/stret_medium.c: Likewise.
202         * testsuite/libffi.call/stret_large2.c: Likewise.
203         * testsuite/libffi.call/stret_large.c:  Likewise.
204
205 2008-12-26  Timothy Wall  <twall@users.sf.net>
206
207         * testsuite/libffi.call/cls_longdouble.c,
208         testsuite/libffi.call/cls_longdouble_va.c,
209         testsuite/libffi.call/cls_align_longdouble.c,
210         testsuite/libffi.call/cls_align_longdouble_split.c,
211         testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
212         failures on x86_64 cygwin/mingw.
213
214 2008-12-22  Timothy Wall  <twall@users.sf.net>
215
216         * testsuite/libffi.call/closure_fn0.c,
217         testsuite/libffi.call/closure_fn1.c,
218         testsuite/libffi.call/closure_fn2.c,
219         testsuite/libffi.call/closure_fn3.c,
220         testsuite/libffi.call/closure_fn4.c,
221         testsuite/libffi.call/closure_fn5.c,
222         testsuite/libffi.call/closure_fn6.c,
223         testsuite/libffi.call/closure_loc_fn0.c,
224         testsuite/libffi.call/closure_stdcall.c,
225         testsuite/libffi.call/cls_align_pointer.c,
226         testsuite/libffi.call/cls_pointer.c,
227         testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
228         pointer to integer (intptr_t).
229         * testsuite/libffi.call/cls_longdouble.c: disable for win64.
230
231 2008-07-24  Anthony Green  <green@redhat.com>
232
233         * testsuite/libffi.call/cls_dbls_struct.c,
234         testsuite/libffi.call/cls_double_va.c,
235         testsuite/libffi.call/cls_longdouble.c,
236         testsuite/libffi.call/cls_longdouble_va.c,
237         testsuite/libffi.call/cls_pointer.c,
238         testsuite/libffi.call/cls_pointer_stack.c,
239         testsuite/libffi.call/err_bad_abi.c: Clean up failures from
240         compiler warnings.
241
242 2008-03-04  Anthony Green  <green@redhat.com>
243             Blake Chaffin
244             hos@tamanegi.org
245
246         * testsuite/libffi.call/cls_align_longdouble_split2.c
247           testsuite/libffi.call/cls_align_longdouble_split.c
248           testsuite/libffi.call/cls_dbls_struct.c
249           testsuite/libffi.call/cls_double_va.c
250           testsuite/libffi.call/cls_longdouble.c
251           testsuite/libffi.call/cls_longdouble_va.c
252           testsuite/libffi.call/cls_pointer.c
253           testsuite/libffi.call/cls_pointer_stack.c
254           testsuite/libffi.call/err_bad_abi.c
255           testsuite/libffi.call/err_bad_typedef.c
256           testsuite/libffi.call/stret_large2.c
257           testsuite/libffi.call/stret_large.c
258           testsuite/libffi.call/stret_medium2.c
259           testsuite/libffi.call/stret_medium.c: New tests from Apple.
260
261 2009-06-05  Andrew Haley  <aph@redhat.com>
262
263         * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
264         libffi.
265
266 2009-06-04  Andrew Haley  <aph@redhat.com>
267
268         * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
269         stdcall changes.
270
271 2008-02-26  Anthony Green  <green@redhat.com>
272             Thomas Heller  <theller@ctypes.org>
273
274         * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
275         comment.
276
277 2008-02-03  Timothy Wall  <twall@users.sf.net>
278
279         * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
280           offset based on code pointer, not data pointer.
281
282 2008-01-31  Timothy Wall <twall@users.sf.net>
283
284         * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
285         closures.
286         * src/x86/ffitarget.h: Increase size of trampoline for stdcall
287         closures.
288         * src/x86/win32.S: Add assembly for stdcall closure.
289         * src/x86/ffi.c: Initialize stdcall closure trampoline.
290
291 2009-06-04  Andrew Haley  <aph@redhat.com>
292
293         * include/ffi.h.in: Change void (*)() to void (*)(void).
294         * src/x86/ffi.c: Likewise.
295
296 2009-06-04  Andrew Haley  <aph@redhat.com>
297
298         * src/powerpc/ppc_closure.S: Insert licence header.
299         * src/powerpc/linux64_closure.S: Likewise.
300         * src/m68k/sysv.S: Likewise.
301
302         * src/sh64/ffi.c: Change void (*)() to void (*)(void).
303         * src/powerpc/ffi.c: Likewise.
304         * src/powerpc/ffi_darwin.c: Likewise.
305         * src/m32r/ffi.c: Likewise.
306         * src/sh64/ffi.c: Likewise.
307         * src/x86/ffi64.c: Likewise.
308         * src/alpha/ffi.c: Likewise.
309         * src/alpha/osf.S: Likewise.
310         * src/frv/ffi.c: Likewise.
311         * src/s390/ffi.c: Likewise.
312         * src/pa/ffi.c: Likewise.
313         * src/pa/hpux32.S: Likewise.
314         * src/ia64/unix.S: Likewise.
315         * src/ia64/ffi.c: Likewise.
316         * src/sparc/ffi.c: Likewise.
317         * src/mips/ffi.c: Likewise.
318         * src/sh/ffi.c: Likewise.
319
320 2008-02-15  David Daney  <ddaney@avtrex.com>
321
322         * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
323         Define (conditionally), and use it to include cachectl.h.
324         (ffi_prep_closure_loc): Fix cache flushing.
325         * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
326
327 2009-06-04  Andrew Haley  <aph@redhat.com>
328
329         include/ffi.h.in,
330         src/arm/ffitarget.h,
331         src/arm/ffi.c,
332         src/arm/sysv.S,
333         src/powerpc/ffitarget.h,
334         src/closures.c,
335         src/sh64/ffitarget.h,
336         src/sh64/ffi.c,
337         src/sh64/sysv.S,
338         src/types.c,
339         src/x86/ffi64.c,
340         src/x86/ffitarget.h,
341         src/x86/win32.S,
342         src/x86/darwin.S,
343         src/x86/ffi.c,
344         src/x86/sysv.S,
345         src/x86/unix64.S,
346         src/alpha/ffitarget.h,
347         src/alpha/ffi.c,
348         src/alpha/osf.S,
349         src/m68k/ffitarget.h,
350         src/frv/ffitarget.h,
351         src/frv/ffi.c,
352         src/s390/ffitarget.h,
353         src/s390/sysv.S,
354         src/cris/ffitarget.h,
355         src/pa/linux.S,
356         src/pa/ffitarget.h,
357         src/pa/ffi.c,
358         src/raw_api.c,
359         src/ia64/ffitarget.h,
360         src/ia64/unix.S,
361         src/ia64/ffi.c,
362         src/ia64/ia64_flags.h,
363         src/java_raw_api.c,
364         src/debug.c,
365         src/sparc/v9.S,
366         src/sparc/ffitarget.h,
367         src/sparc/ffi.c,
368         src/sparc/v8.S,
369         src/mips/ffitarget.h,
370         src/mips/n32.S,
371         src/mips/o32.S,
372         src/mips/ffi.c,
373         src/prep_cif.c,
374         src/sh/ffitarget.h,
375         src/sh/ffi.c,
376         src/sh/sysv.S: Update license text.
377
378 2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
379
380         * src/x86/win32.S (_ffi_closure_STDCALL):  New function.
381         (.eh_frame):  Add FDE for it.
382
383 2009-05-22  Dave Korn  <dave.korn.cygwin@gmail.com>
384
385         * configure.ac:  Also check if assembler supports pc-relative
386         relocs on X86_WIN32 targets.
387         * configure:  Regenerate.
388         * src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
389         (_ffi_call_SYSV):  Add missing function type symbol .def and
390         add EH markup labels.
391         (_ffi_call_STDCALL):  Likewise.
392         (_ffi_closure_SYSV):  Likewise.
393         (_ffi_closure_raw_SYSV):  Likewise.
394         (.eh_frame):  Add hand-crafted EH data.
395
396 2009-04-09  Jakub Jelinek  <jakub@redhat.com>
397
398         * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
399         version 3 of the GNU General Public License and to point readers
400         at the COPYING3 file and the FSF's license web page.
401         * testsuite/libffi.call/call.exp: Likewise.
402         * testsuite/libffi.special/special.exp: Likewise.
403
404 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
405
406         * configure: Regenerate.
407
408 2008-12-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
409
410         PR libffi/26048
411         * configure.ac (HAVE_AS_X86_PCREL): New test.
412         * configure: Regenerate.
413         * fficonfig.h.in: Regenerate.
414         * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
415         RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
416         RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
417         (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
418         * src/x86/unix64.S (.Lstore_table): Move to .text section.
419         (.Lload_table): Likewise.
420         (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
421
422 2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
423
424         * configure: Regenerate.
425
426 2008-11-21  Eric Botcazou  <ebotcazou@adacore.com>
427
428         * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
429         signed/unsigned int8/16 return values.
430         * src/sparc/v8.S (ffi_call_v8): Likewise.
431         (ffi_closure_v8): Likewise.
432
433 2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
434             Steve Ellcey  <sje@cup.hp.com>
435
436         * configure: Regenerate for new libtool.
437         * Makefile.in: Ditto.
438         * include/Makefile.in: Ditto.
439         * aclocal.m4: Ditto.
440
441 2008-08-25  Andreas Tobler  <a.tobler@schweiz.org>
442
443         * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
444         FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
445         Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
446         Adjust copyright notice.
447         * src/powerpc/ffi.c: Add two new flags to indicate if we have one
448         register or two register to use for FFI_SYSV structs.
449         (ffi_prep_cif_machdep): Pass the right register flag introduced above.
450         (ffi_closure_helper_SYSV): Fix the return type for
451         FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
452         Adjust copyright notice.
453
454 2008-07-16  Kaz Kojima  <kkojima@gcc.gnu.org>
455
456         * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
457         int.
458
459 2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
460
461         * configure: Regenerate.
462         * include/Makefile.in: Regenerate.
463         * testsuite/Makefile.in: Regenerate.
464
465 2008-06-07  Joseph Myers  <joseph@codesourcery.com>
466
467         * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
468         powerpc-*-beos*): Remove.
469         * configure: Regenerate.
470
471 2008-05-09  Julian Brown  <julian@codesourcery.com>
472
473         * Makefile.am (LTLDFLAGS): New.
474         (libffi_la_LDFLAGS): Use above.
475         * Makefile.in: Regenerate.
476
477 2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
478
479         PR bootstrap/35457
480         * aclocal.m4: Regenerate.
481         * configure: Regenerate.
482
483 2008-03-26  Kaz Kojima  <kkojima@gcc.gnu.org>
484
485         * src/sh/sysv.S: Add .note.GNU-stack on Linux.
486         * src/sh64/sysv.S: Likewise.
487
488 2008-03-26  Daniel Jacobowitz  <dan@debian.org>
489
490         * src/arm/sysv.S: Fix ARM comment marker.
491
492 2008-03-26  Jakub Jelinek  <jakub@redhat.com>
493
494         * src/alpha/osf.S: Add .note.GNU-stack on Linux.
495         * src/s390/sysv.S: Likewise.
496         * src/powerpc/ppc_closure.S: Likewise.
497         * src/powerpc/sysv.S: Likewise.
498         * src/x86/unix64.S: Likewise.
499         * src/x86/sysv.S: Likewise.
500         * src/sparc/v8.S: Likewise.
501         * src/sparc/v9.S: Likewise.
502         * src/m68k/sysv.S: Likewise.
503         * src/arm/sysv.S: Likewise.
504
505 2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
506
507         * aclocal.m4: Regenerate.
508         * configure: Likewise.
509         * Makefile.in: Likewise.
510         * include/Makefile.in: Likewise.
511         * testsuite/Makefile.in: Likewise.
512
513 2008-02-12  Bjoern Koenig  <bkoenig@alpha-tierchen.de>
514             Andreas Tobler  <a.tobler@schweiz.org>
515
516         * configure.ac: Add amd64-*-freebsd* target.
517         * configure: Regenerate.
518
519 2008-01-30  H.J. Lu  <hongjiu.lu@intel.com>
520
521         PR libffi/34612
522         * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
523         returning struct.
524
525         * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
526         tests.
527
528 2008-01-24  David Edelsohn  <edelsohn@gnu.org>
529
530         * configure: Regenerate.
531
532 2008-01-06  Andreas Tobler  <a.tobler@schweiz.org>
533
534         * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
535
536 2008-01-05  Andreas Tobler  <a.tobler@schweiz.org>
537
538         PR testsuite/32843
539         * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
540         signed/unsigned int8/16 for X86_DARWIN.
541         Updated copyright info.
542         Handle one and two byte structs with special cif->flags.
543         * src/x86/ffitarget.h: Add special types for one and two byte structs.
544         Updated copyright info.
545         * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
546         sysv.S
547         Remove code to pop args from the stack after call.
548         Special-case signed/unsigned for int8/16, one and two byte structs.
549         (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
550         FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
551         FFI_TYPE_SINT32.
552         Updated copyright info.
553
554 2007-12-08  David Daney  <ddaney@avtrex.com>
555
556         * src/mips/n32.S (ffi_call_N32):  Replace dadd with ADDU, dsub with 
557         SUBU, add with ADDU and use smaller code sequences.
558
559 2007-12-07  David Daney  <ddaney@avtrex.com>
560
561         * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
562         type.
563
564 2007-12-06  David Daney  <ddaney@avtrex.com>
565
566         * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
567         defined.
568         (ffi_java_raw): New typedef.
569         (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
570         ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
571         ffi_java_raw.
572         (ffi_java_raw_closure) : Same.
573         (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
574         parameter types.
575         * src/java_raw_api.c (ffi_java_raw_size):  Replace FFI_SIZEOF_ARG with
576         FFI_SIZEOF_JAVA_RAW.
577         (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
578         Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
579         sizeof(ffi_java_raw) for alignment calculations.
580         (ffi_java_ptrarray_to_raw): Same.
581         (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
582         if FFI_SIZEOF_JAVA_RAW == 4.
583         (ffi_java_raw_to_rvalue): Same.
584         (ffi_java_raw_call): Change type of raw to ffi_java_raw.
585         (ffi_java_translate_args): Same.
586         (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
587         parameter types.
588         * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
589
590 2007-12-06  David Daney  <ddaney@avtrex.com>
591
592         * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on 
593         pointer values.
594
595 2007-12-01  Andreas Tobler  <a.tobler@schweiz.org>
596
597         PR libffi/31937
598         * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
599         Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
600         * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
601         set the NUM_FPR_ARG_REGISTERS according to.
602         Add support for potential soft-float support under hard-float
603         architecture.
604         (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
605         FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
606         to the FFI_LINUX_SOFT_FLOAT ABI.
607         (ffi_prep_cif_machdep): Likewise.
608         (ffi_closure_helper_SYSV): Likewise.
609         * src/powerpc/ppc_closure.S: Make sure not to store float/double
610         on archs where __NO_FPRS__ is true.
611         Add FFI_TYPE_UINT128 support.
612         * src/powerpc/sysv.S: Add support for soft-float long-double-128.
613         Adjust copyright notice.
614
615 2007-11-25  Andreas Tobler  <a.tobler@schweiz.org>
616
617         * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
618         * include/ffi_common.h: ... here.
619         Update copyright.
620
621 2007-11-17  Andreas Tobler  <a.tobler@schweiz.org>
622
623         * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
624         * src/powerpc/linux64.S: Likewise.
625         * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
626         * testsuite/libffi.call/return_ldl.c: New test.
627
628 2007-09-04    <aph@redhat.com>
629
630         * src/arm/sysv.S (UNWIND): New.
631         (Whole file): Conditionally compile unwinder directives.
632         * src/arm/sysv.S: Add unwinder directives.
633
634         * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
635         Only treat r0 as a struct address if we're actually returning a
636         struct by address.
637         Only copy the bytes that are actually within a struct.
638         (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
639         is returned in r0, not passed by address.
640         (ffi_call): Allocate a word-sized temporary for the case where
641         a composite is returned in r0.
642         (ffi_prep_incoming_args_SYSV): Align as necessary.
643
644 2007-08-05  Steven Newbury  <s_j_newbury@yahoo.co.uk>
645
646         * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of 
647         directly using the sys_cacheflush syscall.
648
649 2007-07-27  Andrew Haley  <aph@redhat.com>
650
651         * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
652
653 2007-09-03  Maciej W. Rozycki  <macro@linux-mips.org>
654
655         * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
656         * configure.ac: Likewise.
657         * Makefile.in: Regenerate.
658         * include/Makefile.in: Likewise.
659         * testsuite/Makefile.in: Likewise.
660         * configure: Likewise.
661
662 2007-08-24  David Daney  <ddaney@avtrex.com>
663
664         * testsuite/libffi.call/return_sl.c: New test.
665
666 2007-08-10  David Daney  <ddaney@avtrex.com>
667
668         * testsuite/libffi.call/cls_multi_ushort.c,
669         testsuite/libffi.call/cls_align_uint16.c,
670         testsuite/libffi.call/nested_struct1.c,
671         testsuite/libffi.call/nested_struct3.c,
672         testsuite/libffi.call/cls_7_1_byte.c,
673         testsuite/libffi.call/nested_struct5.c,
674         testsuite/libffi.call/cls_double.c,
675         testsuite/libffi.call/nested_struct7.c,
676         testsuite/libffi.call/cls_sint.c,
677         testsuite/libffi.call/nested_struct9.c,
678         testsuite/libffi.call/cls_20byte1.c,
679         testsuite/libffi.call/cls_multi_sshortchar.c,
680         testsuite/libffi.call/cls_align_sint64.c,
681         testsuite/libffi.call/cls_3byte2.c,
682         testsuite/libffi.call/cls_multi_schar.c,
683         testsuite/libffi.call/cls_multi_uchar.c,
684         testsuite/libffi.call/cls_19byte.c,
685         testsuite/libffi.call/cls_9byte1.c,
686         testsuite/libffi.call/cls_align_float.c,
687         testsuite/libffi.call/closure_fn1.c,
688         testsuite/libffi.call/problem1.c,
689         testsuite/libffi.call/closure_fn3.c,
690         testsuite/libffi.call/cls_sshort.c,
691         testsuite/libffi.call/closure_fn5.c,
692         testsuite/libffi.call/cls_align_double.c,
693         testsuite/libffi.call/nested_struct.c,
694         testsuite/libffi.call/cls_2byte.c,
695         testsuite/libffi.call/nested_struct10.c,
696         testsuite/libffi.call/cls_4byte.c,
697         testsuite/libffi.call/cls_6byte.c,
698         testsuite/libffi.call/cls_8byte.c,
699         testsuite/libffi.call/cls_multi_sshort.c,
700         testsuite/libffi.call/cls_align_sint16.c,
701         testsuite/libffi.call/cls_align_uint32.c,
702         testsuite/libffi.call/cls_20byte.c,
703         testsuite/libffi.call/cls_float.c,
704         testsuite/libffi.call/nested_struct2.c,
705         testsuite/libffi.call/cls_5_1_byte.c,
706         testsuite/libffi.call/nested_struct4.c,
707         testsuite/libffi.call/cls_24byte.c,
708         testsuite/libffi.call/nested_struct6.c,
709         testsuite/libffi.call/cls_64byte.c,
710         testsuite/libffi.call/nested_struct8.c,
711         testsuite/libffi.call/cls_uint.c,
712         testsuite/libffi.call/cls_multi_ushortchar.c,
713         testsuite/libffi.call/cls_schar.c,
714         testsuite/libffi.call/cls_uchar.c,
715         testsuite/libffi.call/cls_align_uint64.c,
716         testsuite/libffi.call/cls_ulonglong.c,
717         testsuite/libffi.call/cls_align_longdouble.c,
718         testsuite/libffi.call/cls_1_1byte.c,
719         testsuite/libffi.call/cls_12byte.c,
720         testsuite/libffi.call/cls_3_1byte.c,
721         testsuite/libffi.call/cls_3byte1.c,
722         testsuite/libffi.call/cls_4_1byte.c,
723         testsuite/libffi.call/cls_6_1_byte.c,
724         testsuite/libffi.call/cls_16byte.c,
725         testsuite/libffi.call/cls_18byte.c,
726         testsuite/libffi.call/closure_fn0.c,
727         testsuite/libffi.call/cls_9byte2.c,
728         testsuite/libffi.call/closure_fn2.c,
729         testsuite/libffi.call/closure_fn4.c,
730         testsuite/libffi.call/cls_ushort.c,
731         testsuite/libffi.call/closure_fn6.c,
732         testsuite/libffi.call/cls_5byte.c,
733         testsuite/libffi.call/cls_align_pointer.c,
734         testsuite/libffi.call/cls_7byte.c,
735         testsuite/libffi.call/cls_align_sint32.c,
736         testsuite/libffi.special/unwindtest_ffi_call.cc,
737         testsuite/libffi.special/unwindtest.cc: Remove xfail for mips64*-*-*.
738
739 2007-08-10  David Daney  <ddaney@avtrex.com>
740
741         PR libffi/28313
742         * configure.ac: Don't treat mips64 as a special case.
743         * Makefile.am (nodist_libffi_la_SOURCES): Add n32.S.
744         * configure: Regenerate
745         * Makefile.in: Ditto.
746         * fficonfig.h.in: Ditto.
747         * src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent.
748         (LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros.
749         (FFI_DEFAULT_ABI): Set for n64 case.
750         (FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases.
751         * src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE.
752         (ffi_closure_N32): New function.
753         (.eh_frame): New section
754         * src/mips/o32.S: Clean up comments.
755         (ffi_closure_O32): Pass ffi_closure parameter in $12.
756         * src/mips/ffi.c: Use FFI_MIPS_N32 instead of
757         _MIPS_SIM == _ABIN32 throughout.
758         (FFI_MIPS_STOP_HERE): New, use in place of
759         ffi_stop_here.
760         (ffi_prep_args): Use unsigned long to hold pointer values.  Rewrite
761         to support n32/n64 ABIs.
762         (calc_n32_struct_flags): Rewrite.
763         (calc_n32_return_struct_flags): Remove unused variable.  Reverse
764         position of flag bits.
765         (ffi_prep_cif_machdep): Rewrite n32 portion.
766         (ffi_call): Enable for n64.  Add special handling for small structure
767         return values.
768         (ffi_prep_closure_loc): Add n32 and n64 support.
769         (ffi_closure_mips_inner_O32): Add cast to silence warning.
770         (copy_struct_N32, ffi_closure_mips_inner_N32): New functions.
771
772 2007-08-08  David Daney  <ddaney@avtrex.com>
773
774         * testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition.
775         * testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
776         specifiers.
777         * testsuite/libffi.call/nested_struct1.c (main): Ditto.
778         * testsuite/libffi.call/cls_sint.c (main): Ditto.
779         * testsuite/libffi.call/nested_struct9.c (main): Ditto.
780         * testsuite/libffi.call/cls_20byte1.c (main): Ditto.
781         * testsuite/libffi.call/cls_9byte1.c (main): Ditto.
782         * testsuite/libffi.call/closure_fn1.c (main): Ditto.
783         * testsuite/libffi.call/closure_fn3.c (main): Ditto.
784         * testsuite/libffi.call/return_dbl2.c (main): Ditto.
785         * testsuite/libffi.call/cls_sshort.c (main): Ditto.
786         * testsuite/libffi.call/return_fl3.c (main): Ditto.
787         * testsuite/libffi.call/closure_fn5.c (main): Ditto.
788         * testsuite/libffi.call/nested_struct.c (main): Ditto.
789         * testsuite/libffi.call/nested_struct10.c (main): Ditto.
790         * testsuite/libffi.call/return_ll1.c (main): Ditto.
791         * testsuite/libffi.call/cls_8byte.c (main): Ditto.
792         * testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
793         * testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
794         * testsuite/libffi.call/cls_20byte.c (main): Ditto.
795         * testsuite/libffi.call/nested_struct2.c (main): Ditto.
796         * testsuite/libffi.call/cls_24byte.c (main): Ditto.
797         * testsuite/libffi.call/nested_struct6.c (main): Ditto.
798         * testsuite/libffi.call/cls_uint.c (main): Ditto.
799         * testsuite/libffi.call/cls_12byte.c (main): Ditto.
800         * testsuite/libffi.call/cls_16byte.c (main): Ditto.
801         * testsuite/libffi.call/closure_fn0.c (main): Ditto.
802         * testsuite/libffi.call/cls_9byte2.c (main): Ditto.
803         * testsuite/libffi.call/closure_fn2.c (main): Ditto.
804         * testsuite/libffi.call/return_dbl1.c (main): Ditto.
805         * testsuite/libffi.call/closure_fn4.c (main): Ditto.
806         * testsuite/libffi.call/closure_fn6.c (main): Ditto.
807         * testsuite/libffi.call/cls_align_sint32.c (main): Ditto.
808
809 2007-08-07  Andrew Haley  <aph@redhat.com>
810
811         * src/x86/sysv.S (ffi_closure_raw_SYSV): Fix typo in previous
812         checkin.
813
814 2007-08-06  Andrew Haley  <aph@redhat.com>
815
816         PR testsuite/32843
817         * src/x86/sysv.S (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
818         FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
819         FFI_TYPE_SINT32.
820
821 2007-08-02  David Daney  <ddaney@avtrex.com>
822
823         * testsuite/libffi.call/return_ul.c (main): Define return type as
824         ffi_arg.  Use proper printf conversion specifier.
825         
826 2007-07-30  Andrew Haley  <aph@redhat.com>
827
828         PR testsuite/32843
829         * src/x86/ffi.c (ffi_prep_cif_machdep): in x86 case, add code for
830         signed/unsigned int8/16.
831         * src/x86/sysv.S (ffi_call_SYSV): Rewrite to:
832         Use a jump table.
833         Remove code to pop args from the stack after call.
834         Special-case signed/unsigned int8/16.
835         * testsuite/libffi.call/return_sc.c (main): Revert.
836
837 2007-07-26  Richard Guenther  <rguenther@suse.de>
838
839         PR testsuite/32843
840         * testsuite/libffi.call/return_sc.c (main): Verify call
841         result as signed char, not ffi_arg.
842
843 2007-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
844
845         * configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64.
846         * configure: Regenerate.
847
848 2007-07-11  David Daney  <ddaney@avtrex.com>
849
850         * src/mips/ffi.c: Don't include sys/cachectl.h.
851         (ffi_prep_closure_loc): Use __builtin___clear_cache() instead of
852         cacheflush().
853
854 2007-05-18  Aurelien Jarno  <aurelien@aurel32.net>
855
856         * src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted
857         from (ffi_prep_closure): ... this.
858         (FFI_INIT_TRAMPOLINE): Adjust.
859
860 2005-12-31  Phil Blundell  <pb@reciva.com>
861
862         * src/arm/ffi.c (ffi_prep_incoming_args_SYSV, 
863         ffi_closure_SYSV_inner, ffi_prep_closure): New, add closure support.
864         * src/arm/sysv.S(ffi_closure_SYSV): Likewise.
865         * src/arm/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
866         (FFI_CLOSURES): Enable closure support.
867
868 2007-07-03  Andrew Haley  <aph@hedges.billgatliff.com>
869
870         * testsuite/libffi.call/cls_multi_ushort.c,
871         testsuite/libffi.call/cls_align_uint16.c,
872         testsuite/libffi.call/nested_struct1.c,
873         testsuite/libffi.call/nested_struct3.c,
874         testsuite/libffi.call/cls_7_1_byte.c,
875         testsuite/libffi.call/cls_double.c,
876         testsuite/libffi.call/nested_struct5.c,
877         testsuite/libffi.call/nested_struct7.c,
878         testsuite/libffi.call/cls_sint.c,
879         testsuite/libffi.call/nested_struct9.c,
880         testsuite/libffi.call/cls_20byte1.c,
881         testsuite/libffi.call/cls_multi_sshortchar.c,
882         testsuite/libffi.call/cls_align_sint64.c,
883         testsuite/libffi.call/cls_3byte2.c,
884         testsuite/libffi.call/cls_multi_schar.c,
885         testsuite/libffi.call/cls_multi_uchar.c,
886         testsuite/libffi.call/cls_19byte.c,
887         testsuite/libffi.call/cls_9byte1.c,
888         testsuite/libffi.call/cls_align_float.c,
889         testsuite/libffi.call/closure_fn1.c,
890         testsuite/libffi.call/problem1.c,
891         testsuite/libffi.call/closure_fn3.c,
892         testsuite/libffi.call/cls_sshort.c,
893         testsuite/libffi.call/closure_fn5.c,
894         testsuite/libffi.call/cls_align_double.c,
895         testsuite/libffi.call/cls_2byte.c,
896         testsuite/libffi.call/nested_struct.c,
897         testsuite/libffi.call/nested_struct10.c,
898         testsuite/libffi.call/cls_4byte.c,
899         testsuite/libffi.call/cls_6byte.c,
900         testsuite/libffi.call/cls_8byte.c,
901         testsuite/libffi.call/cls_multi_sshort.c,
902         testsuite/libffi.call/cls_align_uint32.c,
903         testsuite/libffi.call/cls_align_sint16.c,
904         testsuite/libffi.call/cls_float.c,
905         testsuite/libffi.call/cls_20byte.c,
906         testsuite/libffi.call/cls_5_1_byte.c,
907         testsuite/libffi.call/nested_struct2.c,
908         testsuite/libffi.call/cls_24byte.c,
909         testsuite/libffi.call/nested_struct4.c,
910         testsuite/libffi.call/nested_struct6.c,
911         testsuite/libffi.call/cls_64byte.c,
912         testsuite/libffi.call/nested_struct8.c,
913         testsuite/libffi.call/cls_uint.c,
914         testsuite/libffi.call/cls_multi_ushortchar.c,
915         testsuite/libffi.call/cls_schar.c,
916         testsuite/libffi.call/cls_uchar.c,
917         testsuite/libffi.call/cls_align_uint64.c,
918         testsuite/libffi.call/cls_ulonglong.c,
919         testsuite/libffi.call/cls_align_longdouble.c,
920         testsuite/libffi.call/cls_1_1byte.c,
921         testsuite/libffi.call/cls_12byte.c,
922         testsuite/libffi.call/cls_3_1byte.c,
923         testsuite/libffi.call/cls_3byte1.c,
924         testsuite/libffi.call/cls_4_1byte.c,
925         testsuite/libffi.call/cls_6_1_byte.c,
926         testsuite/libffi.call/cls_16byte.c,
927         testsuite/libffi.call/cls_18byte.c,
928         testsuite/libffi.call/closure_fn0.c,
929         testsuite/libffi.call/cls_9byte2.c,
930         testsuite/libffi.call/closure_fn2.c,
931         testsuite/libffi.call/closure_fn4.c,
932         testsuite/libffi.call/cls_ushort.c,
933         testsuite/libffi.call/closure_fn6.c,
934         testsuite/libffi.call/cls_5byte.c,
935         testsuite/libffi.call/cls_align_pointer.c,
936         testsuite/libffi.call/cls_7byte.c,
937         testsuite/libffi.call/cls_align_sint32.c,
938         testsuite/libffi.special/unwindtest_ffi_call.cc,
939         testsuite/libffi.special/unwindtest.cc: Enable for ARM.
940
941 2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
942
943         * aclocal.m4: Regenerated.
944
945 2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
946
947         * configure: Regenerate.
948
949 2007-05-23  Steve Ellcey  <sje@cup.hp.com>
950
951         * Makefile.in: Regenerate.
952         * configure: Regenerate.
953         * aclocal.m4: Regenerate.
954         * include/Makefile.in: Regenerate.
955         * testsuite/Makefile.in: Regenerate.
956
957 2007-05-10  Roman Zippel <zippel@linux-m68k.org>
958
959         * src/m68k/ffi.c (ffi_prep_incoming_args_SYSV,
960         ffi_closure_SYSV_inner,ffi_prep_closure): New, add closure support.
961         * src/m68k/sysv.S(ffi_closure_SYSV,ffi_closure_struct_SYSV): Likewise.
962         * src/m68k/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
963         (FFI_CLOSURES): Enable closure support.
964
965 2007-05-10  Roman Zippel <zippel@linux-m68k.org>
966
967         * configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test.
968         * configure: Regenerate.
969         * fficonfig.h.in: Regenerate.
970         * src/m68k/sysv.S (CFI_STARTPROC,CFI_ENDPROC,
971         CFI_OFFSET,CFI_DEF_CFA): New macros.
972         (ffi_call_SYSV): Add callframe annotation.
973
974 2007-05-10  Roman Zippel <zippel@linux-m68k.org>
975
976         * src/m68k/ffi.c (ffi_prep_args,ffi_prep_cif_machdep): Fix
977         numerous test suite failures.
978         * src/m68k/sysv.S (ffi_call_SYSV): Likewise.
979
980 2007-04-11  Paolo Bonzini  <bonzini@gnu.org>
981
982         * Makefile.am (EXTRA_DIST): Bring up to date.
983         * Makefile.in: Regenerate.
984         * src/frv/eabi.S: Remove RCS keyword.
985
986 2007-04-06  Richard Henderson  <rth@redhat.com>
987
988         * configure.ac: Tidy target case.
989         (HAVE_LONG_DOUBLE): Allow the target to override.
990         * configure: Regenerate.
991         * include/ffi.h.in: Don't define ffi_type_foo if
992         LIBFFI_HIDE_BASIC_TYPES is defined.
993         (ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
994         to ffi_type_double.
995         * types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
996         (FFI_TYPEDEF, ffi_type_void): Mark the data const.
997         (ffi_type_longdouble): Special case for Alpha.  Don't define
998         if long double == double.
999
1000         * src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
1001         (ffi_prep_cif_machdep): Handle it as the 128-bit type.
1002         (ffi_call, ffi_closure_osf_inner): Likewise.
1003         (ffi_closure_osf_inner): Likewise.  Mark hidden.
1004         (ffi_call_osf, ffi_closure_osf): Mark hidden.
1005         * src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
1006         * src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
1007         (load_table): Handle 128-bit long double.
1008
1009         * testsuite/libffi.call/float4.c: Add -mieee for alpha.
1010
1011 2007-04-06  Tom Tromey  <tromey@redhat.com>
1012
1013         PR libffi/31491:
1014         * README: Fixed bug in example.
1015
1016 2007-04-03  Jakub Jelinek  <jakub@redhat.com>
1017
1018         * src/closures.c: Include sys/statfs.h.
1019         (_GNU_SOURCE): Define on Linux.
1020         (FFI_MMAP_EXEC_SELINUX): Define.
1021         (selinux_enabled): New variable.
1022         (selinux_enabled_check): New function.
1023         (is_selinux_enabled): Define.
1024         (dlmmap): Use it.
1025
1026 2007-03-24  Uros Bizjak  <ubizjak@gmail.com>
1027
1028         * testsuite/libffi.call/return_fl2.c (return_fl): Mark as static.
1029         Use 'volatile float sum' to create sum of floats to avoid false
1030         negative due to excess precision on ix86 targets.
1031         (main): Ditto. 
1032
1033 2007-03-08  Alexandre Oliva  <aoliva@redhat.com>
1034
1035         * src/powerpc/ffi.c (flush_icache): Fix left-over from previous
1036         patch.
1037         (ffi_prep_closure_loc): Remove unneeded casts.  Add needed ones.
1038
1039 2007-03-07  Alexandre Oliva  <aoliva@redhat.com>
1040
1041         * include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
1042         (ffi_prep_closure_loc): New.
1043         (ffi_prep_raw_closure_loc): New.
1044         (ffi_prep_java_raw_closure_loc): New.
1045         * src/closures.c: New file.
1046         * src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
1047         Replace sflags with exec_offset.
1048         [FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
1049         sub_segment_exec_offset): New macros.
1050         (get_segment_flags, set_segment_flags, check_segment_merge): New
1051         macros.
1052         (is_mmapped_segment, is_extern_segment): Use get_segment_flags.
1053         (add_segment, sys_alloc, create_mspace, create_mspace_with_base,
1054         destroy_mspace): Use new macros.
1055         (sys_alloc): Silence warning.
1056         * Makefile.am (libffi_la_SOURCES): Add src/closures.c.
1057         * Makefile.in: Rebuilt.
1058         * src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
1059         terms of ffi_prep_closure_loc.
1060         * src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
1061         from...
1062         (ffi_prep_raw_closure): ... this.  Re-implement in terms of the
1063         renamed version.
1064         * src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
1065         adjusted from...
1066         (ffi_prep_java_raw_closure): ... this.  Re-implement in terms of
1067         the renamed version.
1068         * src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
1069         (ffi_prep_closure): ... this.
1070         * src/pa/ffi.c: Likewise.
1071         * src/cris/ffi.c: Likewise.  Adjust.
1072         * src/frv/ffi.c: Likewise.
1073         * src/ia64/ffi.c: Likewise.
1074         * src/mips/ffi.c: Likewise.
1075         * src/powerpc/ffi_darwin.c: Likewise.
1076         * src/s390/ffi.c: Likewise.
1077         * src/sh/ffi.c: Likewise.
1078         * src/sh64/ffi.c: Likewise.
1079         * src/sparc/ffi.c: Likewise.
1080         * src/x86/ffi64.c: Likewise.
1081         * src/x86/ffi.c: Likewise.
1082         (FFI_INIT_TRAMPOLINE): Adjust.
1083         (ffi_prep_raw_closure_loc): Renamed and adjusted from...
1084         (ffi_prep_raw_closure): ... this.
1085         * src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
1086         (ffi_prep_closure): ... this.
1087         (flush_icache): Adjust.
1088
1089 2007-03-07  Alexandre Oliva  <aoliva@redhat.com>
1090
1091         * src/dlmalloc.c: New file, imported version 2.8.3 of Doug
1092         Lea's malloc.
1093
1094 2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
1095
1096         * Makefile.am: Add dummy install-pdf target.
1097         * Makefile.in: Regenerate
1098
1099 2007-02-13  Andreas Krebbel  <krebbel1@de.ibm.com>
1100
1101         * src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep,
1102         ffi_closure_helper_SYSV): Add long double handling.
1103
1104 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
1105
1106         * src/powerpc/linux64.S (ffi_call_LINUX64): Move restore of r2
1107         immediately after bctrl instruction.
1108
1109 2007-01-18  Alexandre Oliva  <aoliva@redhat.com>
1110
1111         * Makefile.am (all-recursive, install-recursive,
1112         mostlyclean-recursive, clean-recursive, distclean-recursive,
1113         maintainer-clean-recursive): Add missing targets.
1114         * Makefile.in: Rebuilt.
1115
1116 2006-12-14  Andreas Tobler  <a.tobler@schweiz.org>
1117
1118         * configure.ac: Add TARGET for x86_64-*-darwin*.
1119         * Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
1120         for X86_DARWIN.
1121         * src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
1122         * src/x86/darwin64.S: New file for x86_64-*-darwin* support.
1123         * configure: Regenerate.
1124         * Makefile.in: Regenerate.
1125         * include/Makefile.in: Regenerate.
1126         * testsuite/Makefile.in: Regenerate.
1127         * testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
1128         ffi_call only.
1129
1130 2006-12-13  Andreas Tobler <a.tobler@schweiz.org>
1131
1132         * aclocal.m4: Regenerate with aclocal -I .. as written in the
1133         Makefile.am.
1134
1135 2006-10-31  Geoffrey Keating  <geoffk@apple.com>
1136
1137         * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
1138         (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
1139         Darwin.
1140         * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
1141         * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
1142
1143 2006-10-10  Paolo Bonzini  <bonzini@gnu.org>
1144             Sandro Tolaini  <tolaini@libero.it>
1145
1146         * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and 
1147         conditional.
1148         * configure: Regenerated.
1149         * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
1150         (EXTRA_DIST): Add src/x86/darwin.S.
1151         * Makefile.in: Regenerated.
1152         * include/Makefile.in: Regenerated.
1153         * testsuite/Makefile.in: Regenerated.
1154
1155         * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
1156         X86_WIN32, and additionally align stack to 16 bytes.
1157         * src/x86/darwin.S: New, based on sysv.S.
1158         * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
1159
1160 2006-09-12  David Daney  <ddaney@avtrex.com>
1161
1162         PR libffi/23935
1163         * include/Makefile.am: Install both ffi.h and ffitarget.h in
1164         $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
1165         * aclocal.m4: Regenerated for automake 1.9.6.
1166         * Makefile.in: Regenerated.
1167         * include/Makefile.in: Regenerated.
1168         * testsuite/Makefile.in: Regenerated.
1169
1170 2006-08-17  Andreas Tobler  <a.tobler@schweiz.ch>
1171
1172         * include/ffi_common.h (struct): Revert accidental commit.
1173
1174 2006-08-15  Andreas Tobler  <a.tobler@schweiz.ch>
1175
1176         * include/ffi_common.h: Remove lint directives.
1177         * include/ffi.h.in: Likewise.
1178
1179 2006-07-25  Torsten Schoenfeld  <kaffeetisch@gmx.de>
1180
1181         * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
1182         for 32-bit architectures.
1183         * testsuite/libffi.call/return_ul.c: New test case.
1184
1185 2006-07-19  David Daney  <ddaney@avtrex.com>
1186
1187         * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
1188         xfail remains for mips64.
1189
1190 2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>
1191
1192         * Makefile.am: Add install-html target. Add install-html to .PHONY
1193         * Makefile.in: Regenerate.
1194         * aclocal.m4: Regenerate.
1195         * include/Makefile.in: Regenerate.
1196         * testsuite/Makefile.in: Regenerate.
1197
1198 2006-05-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1199
1200         * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
1201         stack slot.
1202
1203 2006-04-22  Andreas Tobler  <a.tobler@schweiz.ch>
1204
1205         * README: Remove notice about 'Crazy Comments'.
1206         * src/debug.c: Remove lint directives. Cleanup white spaces.
1207         * src/java_raw_api.c: Likewise.
1208         * src/prep_cif.c: Likewise.
1209         * src/raw_api.c: Likewise.
1210         * src/ffitest.c: Delete. No longer needed, all test cases migrated
1211         to the testsuite.
1212         * src/arm/ffi.c: Remove lint directives.
1213         * src/m32r/ffi.c: Likewise.
1214         * src/pa/ffi.c: Likewise.
1215         * src/powerpc/ffi.c: Likewise.
1216         * src/powerpc/ffi_darwin.c: Likewise.
1217         * src/sh/ffi.c: Likewise.
1218         * src/sh64/ffi.c: Likewise.
1219         * src/x86/ffi.c: Likewise.
1220         * testsuite/libffi.call/float2.c: Likewise.
1221         * testsuite/libffi.call/promotion.c: Likewise.
1222         * testsuite/libffi.call/struct1.c: Likewise.
1223
1224 2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>
1225
1226         * src/pa/hpux32.S: Correct unwind offset calculation for
1227         ffi_closure_pa32.
1228         * src/pa/linux.S: Likewise.
1229
1230 2006-04-12  James E Wilson  <wilson@specifix.com>
1231
1232         PR libgcj/26483
1233         * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
1234         (hfa_type_load): Call stf_spill.
1235         (hfa_type_store): Call ldf_fill.
1236         (ffi_call): Adjust calls to above routines.  Add local temps for
1237         macro result.
1238
1239 2006-04-10  Matthias Klose  <doko@debian.org>
1240
1241         * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
1242         directory names containing underscores.
1243
1244 2006-04-07  James E Wilson  <wilson@specifix.com>
1245
1246         * testsuite/libffi.call/float4.c: New testcase.
1247
1248 2006-04-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1249             Andreas Tobler  <a.tobler@schweiz.ch>
1250
1251         * Makefile.am: Add PA_HPUX port.
1252         * Makefile.in: Regenerate.
1253         * include/Makefile.in: Likewise.
1254         * testsuite/Makefile.in: Likewise.
1255         * configure.ac: Add PA_HPUX rules.
1256         * configure: Regenerate.
1257         * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
1258         Add PA_HPUX and PA64_HPUX.
1259         Rename FFI_LINUX ABI to FFI_PA32 ABI.
1260         (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
1261         (FFI_TYPE_SMALL_STRUCT2): Define.
1262         (FFI_TYPE_SMALL_STRUCT4): Likewise.
1263         (FFI_TYPE_SMALL_STRUCT8): Likewise.
1264         (FFI_TYPE_SMALL_STRUCT3): Redefine.
1265         (FFI_TYPE_SMALL_STRUCT5): Likewise.
1266         (FFI_TYPE_SMALL_STRUCT6): Likewise.
1267         (FFI_TYPE_SMALL_STRUCT7): Likewise.
1268         * src/pa/ffi.c (ROUND_DOWN): Delete.
1269         (fldw, fstw, fldd, fstd): Use '__asm__'.
1270         (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
1271         FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
1272         (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
1273         Simplify incrementing of stack slot variable. Change type of local
1274         'n' to unsigned int.
1275         (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
1276         double on PA_HPUX.
1277         (ffi_prep_cif_machdep): Likewise.
1278         (ffi_call): Likewise.
1279         (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
1280         return type to ffi_status. Simplify incrementing of stack slot
1281         variable. Only copy floating point argument registers when PA_LINUX
1282         is true. Reformat debug statement.
1283         Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
1284         FFI_TYPE_SMALL_STRUCT8.
1285         (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
1286         declaration.
1287         (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
1288         Add nops to cache flush.  Add trampoline for PA_HPUX.
1289         * src/pa/hpux32.S: New file.
1290         * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
1291         ffi_prep_args_LINUX to ffi_prep_args_pa32.
1292         Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
1293         unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
1294         argument type checks so that common argument types appear first.
1295         (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
1296         ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
1297
1298 2006-03-24  Alan Modra  <amodra@bigpond.net.au>
1299
1300         * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX.  Default
1301         for 32-bit using IBM extended double format.  Fix FFI_LAST_ABI.
1302         * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
1303         FFI_TYPE_LONGDOUBLE.
1304         (ffi_prep_args64): Assert using IBM extended double.
1305         (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
1306         Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
1307         (ffi_call): Handle FFI_LINUX.
1308         (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
1309         gpr3 return pointer as for struct return.  Handle FFI_LINUX
1310         FFI_TYPE_LONGDOUBLE return and args.  Don't increment "nf"
1311         unnecessarily.
1312         * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
1313         for FFI_TYPE_LONGDOUBLE.  Move epilogue insns into case table.
1314         Don't use r6 as pointer to results, instead use sp offset.  Don't
1315         make a special call to load lr with case table address, instead
1316         use offset from previous call.
1317         * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
1318         * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
1319         return.
1320
1321 2006-03-15  Kaz Kojima  <kkojima@gcc.gnu.org>
1322
1323         * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
1324         passed with FP registers correctly.
1325         (ffi_closure_helper_SYSV): Likewise.
1326         * src/sh64/sysv.S: Likewise.
1327
1328 2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
1329
1330         * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
1331         args and userdata unused.
1332         (closure_test_fn1): Mark cif and userdata unused.
1333         (main): Remove unused res.
1334
1335 2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
1336
1337         * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
1338         -O2, -O3, -Os and the warning flags -W -Wall.
1339         * testsuite/libffi.special/special.exp: Likewise.
1340         * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
1341         unused parameter unused for gcc or else do nothing.
1342         * testsuite/libffi.special/ffitestcxx.h: Likewise.
1343         * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
1344         and userdata unused.
1345         * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
1346         * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
1347         * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
1348         * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
1349         * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
1350         * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
1351         * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
1352         * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
1353         * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
1354         * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
1355         * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
1356         * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
1357         * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
1358         * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
1359         * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
1360         * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
1361         * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
1362         * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
1363         * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
1364         * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
1365         * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
1366         * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
1367         * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
1368         * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
1369         Likewise.
1370         * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
1371         Likewise.
1372         * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
1373         Likewise.
1374         * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
1375         void* to avoid compiler warning.
1376         (main): Likewise.
1377         (cls_struct_align_gn): Mark cif and userdata unused.
1378         * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
1379         Likewise.
1380         * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
1381         Likewise.
1382         * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
1383         Likewise.
1384         * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
1385         Likewise.
1386         * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
1387         Likewise.
1388         * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
1389         * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
1390         * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
1391         data unused.
1392         (main): Cast res_call to silence gcc.
1393         * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
1394         data unused.
1395         (main): Cast res_call to silence gcc.
1396         * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
1397         and data unused.
1398         (main): Cast res_call to silence gcc.
1399         * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
1400         data unused.
1401         (main): Cast res_call to silence gcc.
1402         * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
1403         data unused.
1404         (main): Cast res_call to silence gcc.
1405         * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
1406         and data unused.
1407         (main): Cast res_call to silence gcc.
1408         * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
1409         userdata unused.
1410         (cls_ret_schar_fn): Cast printf parameter to silence gcc.
1411         * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
1412         userdata unused.
1413         (cls_ret_sint_fn): Cast printf parameter to silence gcc.
1414         * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
1415         userdata unused.
1416         (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
1417         * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
1418         userdata unused.
1419         (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
1420         * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
1421         userdata unused.
1422         (cls_ret_uint_fn): Cast printf parameter to silence gcc.
1423         * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
1424         and userdata unused.
1425         * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
1426         userdata unused.
1427         (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
1428         * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
1429         * testsuite/libffi.call/float1.c (main): Remove unused variable i.
1430         Cleanup white spaces.
1431         * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
1432         * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
1433         cif and userdata unused.
1434         * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
1435         Likewise.
1436         * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
1437         * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
1438         formatters to silence gcc.
1439         (B_gn): Mark cif and userdata unused.
1440         * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
1441         unused.
1442         * testsuite/libffi.call/nested_struct4.c: Mention related PR.
1443         (B_gn): Mark cif and userdata unused.
1444         * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
1445         unused.
1446         * testsuite/libffi.call/nested_struct6.c: Mention related PR.
1447         (B_gn): Mark cif and userdata unused.
1448         * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
1449         unused.
1450         * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
1451         * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
1452         * testsuite/libffi.call/problem1.c (stub): Likewise.
1453         * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
1454         gcc.
1455         * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
1456         in the last commit for this test case in the test case itself.
1457         * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
1458         unused.
1459         * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
1460         * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
1461         * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
1462         * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
1463         * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
1464         * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
1465
1466 2006-02-22  Kaz Kojima  <kkojima@gcc.gnu.org>
1467
1468         * src/sh/sysv.S: Fix register numbers in the FDE for
1469         ffi_closure_SYSV.
1470
1471 2006-02-20  Andreas Tobler  <a.tobler@schweiz.ch>
1472
1473         * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
1474         declaration to avoid a false negative on ix86. See PR323.
1475
1476 2006-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
1477
1478         * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
1479         and cast integer to void * if needed.  Update the pointer to
1480         the FP register saved area correctly.
1481         
1482 2006-02-17  Andreas Tobler  <a.tobler@schweiz.ch>
1483
1484         * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
1485         is fixed.
1486         * testsuite/libffi.call/nested_struct4.c: Likewise.
1487
1488 2006-02-16  Andreas Tobler  <a.tobler@schweiz.ch>
1489
1490         * testsuite/libffi.call/return_dbl.c: New test case.
1491         * testsuite/libffi.call/return_dbl1.c: Likewise.
1492         * testsuite/libffi.call/return_dbl2.c: Likewise.
1493         * testsuite/libffi.call/return_fl.c: Likewise.
1494         * testsuite/libffi.call/return_fl1.c: Likewise.
1495         * testsuite/libffi.call/return_fl2.c: Likewise.
1496         * testsuite/libffi.call/return_fl3.c: Likewise.
1497         * testsuite/libffi.call/closure_fn6.c: Likewise.
1498
1499         * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
1500         definition.
1501         * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
1502         here to be used by other test cases too.
1503
1504         * testsuite/libffi.call/nested_struct10.c: New test case.
1505         * testsuite/libffi.call/nested_struct9.c: Likewise.
1506         * testsuite/libffi.call/nested_struct8.c: Likewise.
1507         * testsuite/libffi.call/nested_struct7.c: Likewise.
1508         * testsuite/libffi.call/nested_struct6.c: Likewise.
1509         * testsuite/libffi.call/nested_struct5.c: Likewise.
1510         * testsuite/libffi.call/nested_struct4.c: Likewise.
1511
1512 2006-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
1513
1514         * configure.ac: Enable libffi for sparc64-*-freebsd*.
1515         * configure: Rebuilt.
1516
1517 2006-01-18  Jakub Jelinek  <jakub@redhat.com>
1518
1519         * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
1520         instead do the shifting inline.
1521         * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
1522         shift count unconditionally.  Simplify load sequences for 1, 2, 3, 4
1523         and 8 byte structs, for the remaining struct sizes don't call
1524         __lshrdi3, instead do the shifting inline.
1525
1526 2005-12-07  Thiemo Seufer  <ths@networkno.de>
1527
1528         * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
1529         missing parentheses.
1530         * src/mips/o32.S (ffi_call_O32): Code formatting. Define
1531         and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
1532         (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
1533         A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
1534         V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
1535         FA_0_0_OFF2.
1536         * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
1537         endianness bugs.
1538         (ffi_prep_closure): Improve trampoline instruction scheduling.
1539         (ffi_closure_mips_inner_O32): Fix endianness bugs.
1540
1541 2005-12-03  Alan Modra  <amodra@bigpond.net.au>
1542
1543         * src/powerpc/ffi.c: Formatting.
1544         (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
1545         (ffi_prep_args64): Likewise.
1546
1547 2005-09-30  Geoffrey Keating  <geoffk@apple.com>
1548
1549         * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
1550         darwin, use -shared-libgcc not -lgcc_s, and explain why.
1551
1552 2005-09-26  Tom Tromey  <tromey@redhat.com>
1553
1554         * testsuite/libffi.call/float1.c (value_type): New typedef.
1555         (CANARY): New define.
1556         (main): Check for result buffer overflow.
1557         * src/powerpc/linux64.S: Handle linux64 long double returns.
1558         * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
1559         (ffi_prep_cif_machdep): Handle linux64 long double returns.
1560
1561 2005-08-25  Alan Modra  <amodra@bigpond.net.au>
1562
1563         PR target/23404
1564         * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
1565         homed fp args.
1566         (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
1567
1568 2005-08-11  Jakub Jelinek  <jakub@redhat.com>
1569
1570         * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
1571         (AH_BOTTOM): Add FFI_HIDDEN definition.
1572         * configure: Rebuilt.
1573         * fficonfig.h.in: Rebuilt.
1574         * src/powerpc/ffi.c (hidden): Remove.
1575         (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
1576         ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
1577         * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
1578         .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
1579         * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
1580         add FFI_HIDDEN to its prototype.
1581         (ffi_closure_SYSV_inner): New.
1582         * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
1583         * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
1584
1585 2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
1586
1587         PR libffi/21819:
1588         * configure: Rebuilt.
1589         * configure.ac: Handle i*86-*-gnu*.
1590
1591 2005-08-09  Jakub Jelinek  <jakub@redhat.com>
1592
1593         * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
1594         DW_CFA_offset_extended_sf rather than
1595         DW_CFA_GNU_negative_offset_extended.
1596         * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
1597
1598 2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
1599
1600         * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
1601         on sh3.
1602         (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
1603         * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
1604         partially on register.
1605         (ffi_closure_helper_SYSV): Likewise.
1606         (ffi_prep_cif_machdep): Don't set too many cif->flags.
1607
1608 2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
1609
1610         * src/sh/ffi.c (ffi_call): Handle small structures correctly.
1611         Remove empty line.
1612         * src/sh64/ffi.c (simple_type): Remove.
1613         (return_type): Handle small structures correctly.
1614         (ffi_prep_args): Likewise.
1615         (ffi_call): Likewise.
1616         (ffi_closure_helper_SYSV): Likewise.
1617         * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
1618         Emit position independent code if PIC and remove wrong datalabel
1619         prefixes from EH data.
1620
1621 2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
1622
1623         * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
1624         * Makefile.in: Regenerate.
1625         * include/Makefile.in: Likewise.
1626         * testsuite/Makefile.in: Likewise.
1627         * configure.ac: Add POWERPC_FREEBSD rules.
1628         * configure: Regenerate.
1629         * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
1630         (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
1631         * src/powerpc/ffi.c: Add flags to handle small structure returns
1632         in ffi_call_SYSV.
1633         (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
1634         Aka FFI_SYSV.
1635         (ffi_closure_helper_SYSV): Likewise.
1636         * src/powerpc/ppc_closure.S: Add return types for small structures.
1637         * src/powerpc/sysv.S: Add bits to handle small structures for
1638         final SYSV 4 ABI.
1639
1640 2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
1641
1642         * testsuite/libffi.call/cls_5_1_byte.c: New test file.
1643         * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
1644         * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
1645
1646 2005-07-05  Randolph Chung  <tausq@debian.org>
1647
1648         * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
1649         as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
1650         structures.  Kill compilation warnings.
1651         (ffi_closure_inner_LINUX): Print return values as hex in debug
1652         message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
1653         Properly handle 5-7 byte structure returns.
1654         * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
1655         (FFI_TYPE_SMALL_STRUCT2): Remove.
1656         (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
1657         (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
1658         * src/pa/linux.S: Mark source file as using PA1.1 assembly.
1659         (checksmst1, checksmst2): Remove.
1660         (checksmst3): Optimize handling of 3-byte struct returns.
1661         (checksmst567): Properly handle 5-7 byte struct returns.
1662
1663 2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1664
1665         PR libgcj/21943
1666         * src/mips/n32.S: Enforce PIC code.
1667         * src/mips/o32.S: Likewise.
1668
1669 2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1670
1671         * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
1672         * configure: Regenerate.
1673         
1674 2005-06-01  Alan Modra  <amodra@bigpond.net.au>
1675
1676         * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
1677         to call ffi_closure_helper_SYSV.  Append @local instead.
1678         * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
1679
1680 2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
1681
1682         * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
1683         Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
1684         * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
1685         * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
1686         include/Makefile.in, testsuite/Makefile.in: Regenerate.
1687         
1688 2005-05-09  Mike Stump  <mrs@apple.com>
1689
1690         * configure: Regenerate.
1691
1692 2005-05-08  Richard Henderson  <rth@redhat.com>
1693
1694         PR libffi/21285
1695         * src/alpha/osf.S: Update unwind into to match code.
1696
1697 2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
1698             Richard Henderson  <rth@redhat.com>
1699
1700         * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
1701         bit 11 of flags.
1702         (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
1703         (ffi_prep_closure): Set carry bit if sse-used flag set.
1704         * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
1705         Only load sse registers if ssecount non-zero.
1706         (ffi_closure_unix64): Only save sse registers if carry set on entry.
1707
1708 2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
1709
1710         * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
1711         powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
1712         * configure: Regenerate.
1713
1714 2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
1715
1716         * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
1717         have Tcl8.3-compatible intermediate variable.
1718
1719 2005-04-18  Simon Posnjak <simon.posnjak@siol.net> 
1720             Hans-Peter Nilsson  <hp@axis.com>
1721
1722         * Makefile.am: Add CRIS support.
1723         * configure.ac: Likewise.
1724         * Makefile.in, configure, testsuite/Makefile.in,
1725         include/Makefile.in: Regenerate.
1726         * src/cris: New directory.
1727         * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
1728         * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
1729
1730         * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
1731         \r?\n in output tests.
1732
1733 2005-04-12  Mike Stump  <mrs@apple.com>
1734
1735         * configure: Regenerate.
1736
1737 2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
1738
1739         * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
1740         
1741 2005-03-30  Steve Ellcey  <sje@cup.hp.com>
1742
1743         * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
1744         (ffi_sarg) Ditto.
1745         * src/ia64/unix.S (ffi_closure_unix): Extend gp
1746         to 64 bits in ILP32 mode.
1747         Load 64 bits even for short data.
1748
1749 2005-03-23  Mike Stump  <mrs@apple.com>
1750
1751         * src/powerpc/darwin.S: Update for -m64 multilib.
1752         * src/powerpc/darwin_closure.S: Likewise.
1753
1754 2005-03-21  Zack Weinberg  <zack@codesourcery.com>
1755
1756         * configure.ac: Do not invoke TL_AC_GCC_VERSION.
1757         Do not set tool_include_dir.
1758         * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
1759         Regenerate.
1760         * include/Makefile.am: Set gcc_version and toollibffidir.
1761         * include/Makefile.in: Regenerate.
1762
1763 2005-02-22  Andrew Haley  <aph@redhat.com>
1764
1765         * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
1766         odd-numbered register pairs for 64-bit integer types.
1767
1768 2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
1769
1770         PR libffi/20104
1771         * testsuite/libffi.call/return_ll1.c: New test case.
1772
1773 2005-02-11  Janis Johnson  <janis187@us.ibm.com>
1774
1775         * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
1776         * testsuite/libffi.call/float.c: Ditto.
1777         * testsuite/libffi.call/float2.c: Ditto.
1778         * testsuite/libffi.call/float3.c: Ditto.
1779
1780 2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
1781
1782         * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
1783
1784 2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
1785
1786         * testsuite/libffi.special/special.exp (cxx_options): Add
1787         -shared-libgcc.
1788
1789 2004-12-31  Richard Henderson  <rth@redhat.com>
1790
1791         * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
1792         (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
1793         offset parameters with a type parameter; deduce size and structure
1794         alignment.  Update all users.
1795
1796 2004-12-31  Richard Henderson  <rth@redhat.com>
1797
1798         * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
1799         (FFI_TYPE_LONGDOUBLE): Fix for ia64.
1800         * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
1801         into ffi_prep_closure.
1802         * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
1803         from scratch.
1804
1805 2004-12-27  Richard Henderson  <rth@redhat.com>
1806
1807         * src/x86/unix64.S: Fix typo in unwind info.
1808
1809 2004-12-25  Richard Henderson  <rth@redhat.com>
1810
1811         * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
1812         (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
1813         (merge_classes): Check for it.
1814         (SSE_CLASS_P): New.
1815         (classify_argument): Pass byte_offset by value; perform all updates
1816         inside struct case.
1817         (examine_argument): Add classes argument; handle
1818         X86_64_COMPLEX_X87_CLASS.
1819         (ffi_prep_args): Merge into ...
1820         (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
1821         (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
1822         (ffi_fill_return_value): Remove.
1823         (ffi_prep_closure): Remove dead assert.
1824         (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
1825         Rewrite to use struct register_args instead of va_list.  Create
1826         flags for handling structure returns.
1827         * src/x86/unix64.S: Remove dead strings.
1828         (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
1829         stack frame with ffi_call.  Handle structure returns properly.
1830         (float2sse, floatfloat2sse, double2sse): Remove.
1831         (sse2float, sse2double, sse2floatfloat): Remove.
1832         (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
1833         to handle structure returns properly.
1834
1835 2004-12-08  David Edelsohn  <edelsohn@gnu.org>
1836
1837         * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
1838         PICFLAG.
1839         * Makefile.in: Regenerated.
1840
1841 2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
1842
1843         * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
1844         * configure, aclocal.m4, Makefile.in: Regenerate.
1845         * include/Makefile.in, testsuite/Makefile.in: Regenerate.
1846
1847 2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
1848
1849         * configure: Regenerate for libtool change.
1850
1851 2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
1852
1853         * configure: Regenerate for libtool reversion.
1854
1855 2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
1856
1857         * configure: Regenerate for libtool change.
1858
1859 2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1860
1861         * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
1862
1863 2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
1864
1865         * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
1866         of jal.  Use an absolute encoding for the frame information.
1867
1868 2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
1869
1870         * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
1871         * acinclude.m4: Delete logic for sincludes.
1872         * aclocal.m4, Makefile.in, configure: Regenerate.
1873         * include/Makefile: Likewise.
1874         * testsuite/Makefile: Likewise.
1875
1876 2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
1877
1878         * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
1879         on a 8-byte boundary.
1880         * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
1881
1882 2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
1883
1884         * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
1885         long long values.  Round stack allocation to a multiple of 8 bytes
1886         for ATPCS compatibility.
1887         * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
1888         names.  Handle returning long long types.  Add Thumb and interworking
1889         support.  Improve soft-float code.
1890
1891 2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
1892
1893         * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
1894         (libffi_exit): New function.
1895         (libffi_init): Build the testglue wrapper if needed.
1896
1897 2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
1898
1899         PR other/18138
1900         * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
1901
1902 2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1903
1904         * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
1905
1906 2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
1907
1908         * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
1909         * testsuite/libffi.call/float3.c: New test case.
1910
1911 2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
1912
1913         * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
1914         the function returning a structure pointed with R2.
1915         * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
1916         the structure return value if T bit set.  Emit position
1917         independent code and EH data if PIC.
1918
1919 2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
1920
1921         * Makefile.am: Add m32r support.
1922         * configure.ac: Likewise.
1923         * Makefile.in: Regenerate.
1924         * confiugre: Regenerate.
1925         * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
1926         (uint64, sint64, double, longdouble)
1927         * src/m32r: New directory.
1928         * src/m32r/ffi.c: New file.
1929         * src/m32r/sysv.S: Likewise.
1930         * src/m32r/ffitarget.h: Likewise.
1931
1932 2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
1933
1934         * testsuite/libffi.call/negint.c: New test case.
1935
1936 2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
1937
1938         PR libgcj/17465
1939         * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
1940         Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
1941         LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
1942         DYLD_LIBRARY_PATH.
1943
1944 2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
1945
1946         * testsuite/libffi.call/many_win32.c: Remove whitespaces.
1947         * testsuite/libffi.call/promotion.c: Likewise.
1948         * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
1949         whitespaces.
1950         * testsuite/libffi.call/return_sc.c: Likewise.
1951         * testsuite/libffi.call/return_uc.c: Likewise.
1952
1953 2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
1954
1955         * src/powerpc/darwin.S: Fix comments and identation.
1956         * src/powerpc/darwin_closure.S: Likewise.
1957
1958 2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
1959
1960         * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
1961         (ffi_prep_args): Handle longdouble arguments.
1962         (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
1963         longdouble.
1964         (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
1965         * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
1966         values.
1967         * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
1968         * src/types.c: Defined longdouble size and alignment for darwin.
1969
1970 2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
1971
1972         * src/powerpc/aix.S: Remove whitespaces.
1973         * src/powerpc/aix_closure.S: Likewise.
1974         * src/powerpc/asm.h: Likewise.
1975         * src/powerpc/ffi.c: Likewise.
1976         * src/powerpc/ffitarget.h: Likewise.
1977         * src/powerpc/linux64.S: Likewise.
1978         * src/powerpc/linux64_closure.S: Likewise.
1979         * src/powerpc/ppc_closure.S: Likewise.
1980         * src/powerpc/sysv.S: Likewise.
1981
1982 2004-08-30  Anthony Green  <green@redhat.com>
1983
1984         * Makefile.am: Add frv support.
1985         * Makefile.in, testsuite/Makefile.in: Rebuilt.
1986         * configure.ac: Read configure.host.
1987         * configure.in: Read configure.host.
1988         * configure.host: New file.  frv-elf needs libgloss.
1989         * include/ffi.h.in: Force ffi_closure to have a nice big (8)
1990         alignment.  This is needed to frv and shouldn't harm the others.
1991         * include/ffi_common.h (ALIGN_DOWN): New macro.
1992         * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
1993
1994 2004-08-24  David Daney  <daney@avtrex.com>
1995
1996         * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
1997         * testsuite/libffi.call/closure_fn1.c: Likewise.
1998         * testsuite/libffi.call/closure_fn2.c  Likewise.
1999         * testsuite/libffi.call/closure_fn3.c: Likewise.
2000         * testsuite/libffi.call/closure_fn4.c: Likewise.
2001         * testsuite/libffi.call/closure_fn5.c: Likewise.
2002         * testsuite/libffi.call/cls_18byte.c: Likewise.
2003         * testsuite/libffi.call/cls_19byte.c: Likewise.
2004         * testsuite/libffi.call/cls_1_1byte.c: Likewise.
2005         * testsuite/libffi.call/cls_20byte.c: Likewise.
2006         * testsuite/libffi.call/cls_20byte1.c: Likewise.
2007         * testsuite/libffi.call/cls_24byte.c: Likewise.
2008         * testsuite/libffi.call/cls_2byte.c: Likewise.
2009         * testsuite/libffi.call/cls_3_1byte.c: Likewise.
2010         * testsuite/libffi.call/cls_3byte1.c: Likewise.
2011         * testsuite/libffi.call/cls_3byte2.c: Likewise.
2012         * testsuite/libffi.call/cls_4_1byte.c: Likewise.
2013         * testsuite/libffi.call/cls_4byte.c: Likewise.
2014         * testsuite/libffi.call/cls_64byte.c: Likewise.
2015         * testsuite/libffi.call/cls_6byte.c: Likewise.
2016         * testsuite/libffi.call/cls_7byte.c: Likewise.
2017         * testsuite/libffi.call/cls_8byte.c: Likewise.
2018         * testsuite/libffi.call/cls_9byte1.c: Likewise.
2019         * testsuite/libffi.call/cls_9byte2.c: Likewise.
2020         * testsuite/libffi.call/cls_align_double.c: Likewise.
2021         * testsuite/libffi.call/cls_align_float.c: Likewise.
2022         * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
2023         * testsuite/libffi.call/cls_align_pointer.c: Likewise.
2024         * testsuite/libffi.call/cls_align_sint16.c: Likewise.
2025         * testsuite/libffi.call/cls_align_sint32.c: Likewise.
2026         * testsuite/libffi.call/cls_align_sint64.c: Likewise.
2027         * testsuite/libffi.call/cls_align_uint16.c: Likewise.
2028         * testsuite/libffi.call/cls_align_uint32.c: Likewise.
2029         * testsuite/libffi.call/cls_align_uint64.c: Likewise.
2030         * testsuite/libffi.call/cls_double.c: Likewise.
2031         * testsuite/libffi.call/cls_float.c: Likewise.
2032         * testsuite/libffi.call/cls_multi_schar.c: Likewise.
2033         * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
2034         * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
2035         * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
2036         * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
2037         * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
2038         * testsuite/libffi.call/cls_schar.c: Likewise.
2039         * testsuite/libffi.call/cls_sint.c: Likewise.
2040         * testsuite/libffi.call/cls_sshort.c: Likewise.
2041         * testsuite/libffi.call/cls_uchar.c: Likewise.
2042         * testsuite/libffi.call/cls_uint.c: Likewise.
2043         * testsuite/libffi.call/cls_ulonglong.c: Likewise.
2044         * testsuite/libffi.call/cls_ushort.c: Likewise.
2045         * testsuite/libffi.call/nested_struct.c: Likewise.
2046         * testsuite/libffi.call/nested_struct1.c: Likewise.
2047         * testsuite/libffi.call/nested_struct2.c: Likewise.
2048         * testsuite/libffi.call/nested_struct3.c: Likewise.
2049         * testsuite/libffi.call/problem1.c: Likewise.
2050         * testsuite/libffi.special/unwindtest.cc: Likewise.
2051         * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
2052         to zero.
2053         * testsuite/libffi.call/cls_16byte.c: Likewise.
2054         * testsuite/libffi.call/cls_5byte.c: Likewise.
2055
2056 2004-08-23  David Daney <daney@avtrex.com>
2057
2058         PR libgcj/13141
2059         * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
2060         * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
2061         (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
2062         parameters and return types.
2063         (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
2064         (ffi_prep_closure): Ditto.
2065         (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
2066         alignment calculations.
2067         * src/mips/o32.S (ffi_closure_O32): Don't use floating point
2068         instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
2069
2070 2004-08-14  Casey Marshall <csm@gnu.org>
2071
2072         * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
2073         contain `FFI_TYPE_UINT64' as return type for any 64-bit
2074         integer (O32 ABI only).
2075         (ffi_prep_closure): new function.
2076         (ffi_closure_mips_inner_O32): new function.
2077         * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
2078         `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
2079         * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
2080         64 bit integers correctly.
2081         (ffi_closure_O32): new function.
2082         Added DWARF-2 unwind info for both functions.
2083
2084 2004-08-10  Andrew Haley  <aph@redhat.com>
2085
2086         * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
2087
2088 2004-08-01  Robert Millan  <robertmh@gnu.org>
2089
2090         * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
2091         * configure: Regenerate.
2092
2093 2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
2094
2095         * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
2096         and mmap() explicitly instead of relying on preset autoconf cache
2097         variables.
2098         * aclocal.m4: Regenerate.
2099         * configure: Regenerate.
2100
2101 2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
2102
2103         * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
2104         (ffi_check_float_struct): Remove unused prototype.
2105
2106 2004-06-30  Geoffrey Keating  <geoffk@apple.com>
2107
2108         * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
2109         character on Darwin, use '\n\t' instead.
2110
2111 2004-06-26  Matthias Klose  <doko@debian.org>
2112
2113         * libtool-version: Fix typo in revision/age.
2114
2115 2004-06-17  Matthias Klose  <doko@debian.org>
2116
2117         * libtool-version: New.
2118         * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
2119         * Makefile.in: Regenerate.
2120
2121 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
2122
2123         * Makefile.am: Remove useless multilib rules.
2124         * Makefile.in: Regenerate.
2125         * aclocal.m4: Regenerate with automake 1.8.5.
2126         * configure.ac: Remove useless multilib configury.
2127         * configure: Regenerate.
2128
2129 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
2130
2131         * .cvsignore: New file.
2132
2133 2004-06-10  Jakub Jelinek  <jakub@redhat.com>
2134
2135         * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
2136         fp_done.
2137         (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
2138         changed from 8.
2139
2140 2004-06-06  Sean McNeil  <sean@mcneil.com>
2141
2142         * configure.ac: Add x86_64-*-freebsd* support.
2143         * configure: Regenerate.
2144
2145 2004-04-26  Joe Buck <jbuck@welsh-buck.org>
2146
2147         Bug 15093
2148         * configure.ac: Test for existence of mmap and sys/mman.h before
2149         checking blacklist.  Fix suggested by Jim Wilson.
2150         * configure: Regenerate.
2151
2152 2004-04-26  Matt Austern  <austern@apple.com>
2153
2154         * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
2155         FDE location.
2156         * src/powerpc/darwin_closure.S: Likewise.
2157
2158 2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
2159
2160         * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
2161         error. Reported by Thomas Heller <theller@python.net>.
2162         * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
2163         * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
2164
2165 2004-03-20  Matthias Klose  <doko@debian.org>
2166
2167         * src/pa/linux.S: Fix typo.
2168
2169 2004-03-19  Matthias Klose  <doko@debian.org>
2170
2171         * Makefile.am: Update.
2172         * Makefile.in: Regenerate.
2173         * src/pa/ffi.h.in: Remove.
2174         * src/pa/ffitarget.h: New file.
2175
2176 2004-02-10  Randolph Chung  <tausq@debian.org>
2177
2178         * Makefile.am: Add PA support.
2179         * Makefile.in: Regenerate.
2180         * include/Makefile.in: Regenerate.
2181         * configure.ac: Add PA target.
2182         * configure: Regenerate.
2183         * src/pa/ffi.c: New file.
2184         * src/pa/ffi.h.in: Add PA support.
2185         * src/pa/linux.S: New file.
2186         * prep_cif.c: Add PA support.
2187
2188 2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
2189
2190         * src/types.c: Fix alignment size of X86_WIN32 case int64 and
2191         double.
2192         * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
2193         with ecif->cif->flags.
2194         (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
2195         with cif->flags.
2196         (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
2197         (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
2198         * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
2199         sc_retstruct2b): Add for 1 or 2-bytes struct case.
2200
2201 2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
2202
2203         * configure.in: Rename file to ...
2204         * configure.ac: ... this.
2205         * fficonfig.h.in: Regenerate.
2206         * Makefile.in: Regenerate.
2207         * include/Makefile.in: Regenerate.
2208         * testsuite/Makefile.in: Regenerate.
2209
2210 2004-03-12  Matt Austern  <austern@apple.com>
2211
2212         * src/powerpc/darwin.S: Fix EH information so it corresponds to
2213         changes in EH format resulting from addition of linkonce support.
2214         * src/powerpc/darwin_closure.S: Likewise.
2215
2216 2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
2217             Paolo Bonzini  <bonzini@gnu.org>
2218
2219         * Makefile.am (AUTOMAKE_OPTIONS): Set them.
2220         Remove VPATH. Remove rules for object files. Remove multilib support.
2221         (AM_CCASFLAGS): Add.
2222         * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
2223         (AC_PREREQ): Bump version to 2.59.
2224         (AC_INIT): Fill with version info and bug address.
2225         (ORIGINAL_LD_FOR_MULTILIBS): Remove.
2226         (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
2227         De-precious CC so that the right flags are passed down to multilibs.
2228         (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
2229         (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
2230         (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
2231         * configure: Rebuilt.
2232         * aclocal.m4: Likewise.
2233         * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
2234         * fficonfig.h.in: Likewise.
2235
2236 2004-03-11  Andreas Schwab  <schwab@suse.de>
2237
2238         * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
2239         arguments from fp registers only for the first 8 parameter slots.
2240         Don't convert a float parameter when passed in memory.
2241
2242 2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
2243
2244         * configure: Regenerate for config/accross.m4 correction.
2245
2246 2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
2247
2248         * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
2249         ecif->cif->bytes to bytes.
2250         (ffi_prep_cif_machdep): Add braces around nested if statement.
2251
2252 2004-02-09  Alan Modra  <amodra@bigpond.net.au>
2253
2254         * src/types.c (pointer): POWERPC64 has 8 byte pointers.
2255
2256         * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
2257         (ffi_closure_helper_LINUX64): Fix typo.
2258         * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
2259         for powerpc64-*-*.
2260         * testsuite/libffi.call/float.c: Likewise.
2261         * testsuite/libffi.call/float2.c: Likewise.
2262
2263 2004-02-08  Alan Modra  <amodra@bigpond.net.au>
2264
2265         * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
2266         long double function return and long double arg handling.
2267         (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
2268         Use "end_pfr" instead of "nf".  Correct long double handling.
2269         Localise "temp".
2270         * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
2271         return value.
2272         * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
2273         space for long double return value.  Adjust stack frame and offsets.
2274         Load f2 long double return.
2275
2276 2004-02-07  Alan Modra  <amodra@bigpond.net.au>
2277
2278         * src/types.c: Use 16 byte long double for POWERPC64.
2279
2280 2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
2281
2282         * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
2283         when the structure return address is passed in %o0.
2284         (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
2285         (ffi_v9_layout_struct): Align the field following a nested structure
2286         on a word boundary.  Use memmove instead of memcpy.
2287         (ffi_call): Update call to ffi_V9_return_struct.
2288         (ffi_prep_closure): Define 'ctx' only for V8.
2289         (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
2290         and ffi_closure_sparc_inner_v9.
2291         (ffi_closure_sparc_inner_v8): Return long doubles by reference.
2292         Always skip the structure return address.  For structures and long
2293         doubles, copy the argument directly.
2294         (ffi_closure_sparc_inner_v9): Skip the structure return address only
2295         if required.  Shift the maximum floating-point slot accordingly.  For
2296         big structures, copy the argument directly; otherwise, left-justify the
2297         argument and call ffi_v9_layout_struct to lay out the structure on
2298         the stack.
2299         * src/sparc/v8.S: Undef STACKFRAME before defining it.
2300         (ffi_closure_v8): Pass the structure return address.  Update call to
2301         ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
2302         Skip the 'unimp' insn when returning long doubles and structures.
2303         * src/sparc/v9.S: Undef STACKFRAME before defining it.
2304         (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
2305         FFI_TYPE_INT handling.  Load structures both in integers and
2306         floating-point registers on return.
2307         * README: Update status of the SPARC port.
2308
2309 2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
2310
2311         * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
2312         as of type ffi_arg.
2313         * testsuite/libffi.call/struct3.c (main): Fix CHECK.
2314
2315 2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
2316
2317         * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
2318         value as of type ffi_arg, not unsigned int.
2319
2320 2004-01-21  Michael Ritzert  <ritzert@t-online.de>
2321
2322         * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
2323         of the LHS.
2324
2325 2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
2326
2327         * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
2328         Solaris.
2329
2330 2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2331
2332         * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
2333         to void *.
2334
2335 2003-12-10  Richard Henderson  <rth@redhat.com>
2336
2337         * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
2338         size_t instead of int.
2339
2340 2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
2341
2342         * testsuite/libffi.call/many_win32.c: Include <float.h>.
2343         * testsuite/libffi.call/many_win32.c (main): Replace variable
2344         int i with unsigned long ul.
2345
2346         * testsuite/libffi.call/cls_align_uint64.c: New test case.
2347         * testsuite/libffi.call/cls_align_sint64.c: Likewise.
2348         * testsuite/libffi.call/cls_align_uint32.c: Likewise.
2349         * testsuite/libffi.call/cls_align_sint32.c: Likewise.
2350         * testsuite/libffi.call/cls_align_uint16.c: Likewise.
2351         * testsuite/libffi.call/cls_align_sint16.c: Likewise.
2352         * testsuite/libffi.call/cls_align_float.c: Likewise.
2353         * testsuite/libffi.call/cls_align_double.c: Likewise.
2354         * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
2355         * testsuite/libffi.call/cls_align_pointer.c: Likewise.
2356
2357 2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
2358
2359         PR other/13221
2360         * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
2361         Align arguments to 32 bits.
2362
2363 2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
2364
2365         PR other/13221
2366         * testsuite/libffi.call/cls_multi_sshort.c: New test case.
2367         * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
2368         * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
2369         * testsuite/libffi.call/cls_multi_schar.c: Likewise.
2370         * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
2371         * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
2372
2373         * testsuite/libffi.special/unwindtest.cc: Cosmetics.
2374
2375 2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2376
2377         * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
2378         * testsuite/libffi.special/ffitestcxx.h: Likewise.
2379
2380 2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
2381
2382         * Makefile.in: Rebuilt.
2383         * configure: Likewise.
2384         * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
2385         the right type.
2386
2387 2003-11-21  Andreas Jaeger  <aj@suse.de>
2388             Andreas Tobler  <a.tobler@schweiz.ch>
2389
2390         * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
2391         * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
2392         * Makefile.in: Rebuilt.
2393         * aclocal.m4: Likewise.
2394         * configure: Likewise.
2395         * fficonfig.h.in: Likewise.
2396         * testsuite/lib/libffi-dg.exp: Add include dir.
2397         * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
2398         * testsuite/libffi.special/ffitestcxx.h: Likewise.
2399         * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
2400         for ffi_closure if available.
2401         * testsuite/libffi.call/closure_fn1.c: Likewise.
2402         * testsuite/libffi.call/closure_fn2.c: Likewise.
2403         * testsuite/libffi.call/closure_fn3.c: Likewise.
2404         * testsuite/libffi.call/closure_fn4.c: Likewise.
2405         * testsuite/libffi.call/closure_fn5.c: Likewise.
2406         * testsuite/libffi.call/cls_12byte.c: Likewise.
2407         * testsuite/libffi.call/cls_16byte.c: Likewise.
2408         * testsuite/libffi.call/cls_18byte.c: Likewise.
2409         * testsuite/libffi.call/cls_19byte.c: Likewise.
2410         * testsuite/libffi.call/cls_1_1byte.c: Likewise.
2411         * testsuite/libffi.call/cls_20byte.c: Likewise.
2412         * testsuite/libffi.call/cls_20byte1.c: Likewise.
2413         * testsuite/libffi.call/cls_24byte.c: Likewise.
2414         * testsuite/libffi.call/cls_2byte.c: Likewise.
2415         * testsuite/libffi.call/cls_3_1byte.c: Likewise.
2416         * testsuite/libffi.call/cls_3byte1.c: Likewise.
2417         * testsuite/libffi.call/cls_3byte2.c: Likewise.
2418         * testsuite/libffi.call/cls_4_1byte.c: Likewise.
2419         * testsuite/libffi.call/cls_4byte.c: Likewise.
2420         * testsuite/libffi.call/cls_5byte.c: Likewise.
2421         * testsuite/libffi.call/cls_64byte.c: Likewise.
2422         * testsuite/libffi.call/cls_6byte.c: Likewise.
2423         * testsuite/libffi.call/cls_7byte.c: Likewise.
2424         * testsuite/libffi.call/cls_8byte.c: Likewise.
2425         * testsuite/libffi.call/cls_9byte1.c: Likewise.
2426         * testsuite/libffi.call/cls_9byte2.c: Likewise.
2427         * testsuite/libffi.call/cls_double.c: Likewise.
2428         * testsuite/libffi.call/cls_float.c: Likewise.
2429         * testsuite/libffi.call/cls_schar.c: Likewise.
2430         * testsuite/libffi.call/cls_sint.c: Likewise.
2431         * testsuite/libffi.call/cls_sshort.c: Likewise.
2432         * testsuite/libffi.call/cls_uchar.c: Likewise.
2433         * testsuite/libffi.call/cls_uint.c: Likewise.
2434         * testsuite/libffi.call/cls_ulonglong.c: Likewise.
2435         * testsuite/libffi.call/cls_ushort.c: Likewise.
2436         * testsuite/libffi.call/nested_struct.c: Likewise.
2437         * testsuite/libffi.call/nested_struct1.c: Likewise.
2438         * testsuite/libffi.call/nested_struct2.c: Likewise.
2439         * testsuite/libffi.call/nested_struct3.c: Likewise.
2440         * testsuite/libffi.call/problem1.c: Likewise.
2441         * testsuite/libffi.special/unwindtest.cc: Likewise.
2442
2443 2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
2444
2445         * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
2446
2447 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
2448
2449         * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
2450         Add -lgcc_s to additional flags.
2451
2452 2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
2453
2454         * configure.in, include/Makefile.am: PR libgcj/11147, install
2455         the ffitarget.h header file in a gcc versioned and target
2456         dependent place.
2457         * configure: Regenerated.
2458         * Makefile.in, include/Makefile.in: Likewise.
2459         * testsuite/Makefile.in: Likewise.
2460
2461 2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
2462
2463         * testsuite/libffi.call/closure_fn0.c: Print result and check
2464         with dg-output to make debugging easier.
2465         * testsuite/libffi.call/closure_fn1.c: Likewise.
2466         * testsuite/libffi.call/closure_fn2.c: Likewise.
2467         * testsuite/libffi.call/closure_fn3.c: Likewise.
2468         * testsuite/libffi.call/closure_fn4.c: Likewise.
2469         * testsuite/libffi.call/closure_fn5.c: Likewise.
2470         * testsuite/libffi.call/cls_12byte.c: Likewise.
2471         * testsuite/libffi.call/cls_16byte.c: Likewise.
2472         * testsuite/libffi.call/cls_18byte.c: Likewise.
2473         * testsuite/libffi.call/cls_19byte.c: Likewise.
2474         * testsuite/libffi.call/cls_1_1byte.c: Likewise.
2475         * testsuite/libffi.call/cls_20byte.c: Likewise.
2476         * testsuite/libffi.call/cls_20byte1.c: Likewise.
2477         * testsuite/libffi.call/cls_24byte.c: Likewise.
2478         * testsuite/libffi.call/cls_2byte.c: Likewise.
2479         * testsuite/libffi.call/cls_3_1byte.c: Likewise.
2480         * testsuite/libffi.call/cls_3byte1.c: Likewise.
2481         * testsuite/libffi.call/cls_3byte2.c: Likewise.
2482         * testsuite/libffi.call/cls_4_1byte.c: Likewise.
2483         * testsuite/libffi.call/cls_4byte.c: Likewise.
2484         * testsuite/libffi.call/cls_5byte.c: Likewise.
2485         * testsuite/libffi.call/cls_64byte.c: Likewise.
2486         * testsuite/libffi.call/cls_6byte.c: Likewise.
2487         * testsuite/libffi.call/cls_7byte.c: Likewise.
2488         * testsuite/libffi.call/cls_8byte.c: Likewise.
2489         * testsuite/libffi.call/cls_9byte1.c: Likewise.
2490         * testsuite/libffi.call/cls_9byte2.c: Likewise.
2491         * testsuite/libffi.call/cls_double.c: Likewise.
2492         * testsuite/libffi.call/cls_float.c: Likewise.
2493         * testsuite/libffi.call/cls_schar.c: Likewise.
2494         * testsuite/libffi.call/cls_sint.c: Likewise.
2495         * testsuite/libffi.call/cls_sshort.c: Likewise.
2496         * testsuite/libffi.call/cls_uchar.c: Likewise.
2497         * testsuite/libffi.call/cls_uint.c: Likewise.
2498         * testsuite/libffi.call/cls_ulonglong.c: Likewise.
2499         * testsuite/libffi.call/cls_ushort.c: Likewise.
2500         * testsuite/libffi.call/problem1.c: Likewise.
2501
2502         * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
2503         static.
2504
2505 2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
2506
2507         * testsuite/libffi.call/cls_9byte2.c: New test case.
2508         * testsuite/libffi.call/cls_9byte1.c: Likewise.
2509         * testsuite/libffi.call/cls_64byte.c: Likewise.
2510         * testsuite/libffi.call/cls_20byte1.c: Likewise.
2511         * testsuite/libffi.call/cls_19byte.c: Likewise.
2512         * testsuite/libffi.call/cls_18byte.c: Likewise.
2513         * testsuite/libffi.call/closure_fn4.c: Likewise.
2514         * testsuite/libffi.call/closure_fn5.c: Likewise.
2515         * testsuite/libffi.call/cls_schar.c: Likewise.
2516         * testsuite/libffi.call/cls_sint.c: Likewise.
2517         * testsuite/libffi.call/cls_sshort.c: Likewise.
2518         * testsuite/libffi.call/nested_struct2.c: Likewise.
2519         * testsuite/libffi.call/nested_struct3.c: Likewise.
2520
2521 2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
2522
2523         * testsuite/libffi.call/cls_double.c: Do a check on the result.
2524         * testsuite/libffi.call/cls_uchar.c: Likewise.
2525         * testsuite/libffi.call/cls_uint.c: Likewise.
2526         * testsuite/libffi.call/cls_ulonglong.c: Likewise.
2527         * testsuite/libffi.call/cls_ushort.c: Likewise.
2528         * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
2529
2530 2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
2531
2532         * src/prep_cif.c (ffi_prep_cif): Move the validity check after
2533         the initialization.
2534
2535 2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
2536
2537         * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
2538         FFI_ASSERT(FALSE) with FFI_ASSERT(0).
2539
2540 2003-10-22  David Daney  <ddaney@avtrex.com>
2541
2542         * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
2543         __attribute__((__mode__(__SI__))) and friends.
2544
2545 2003-10-22  Andreas Schwab  <schwab@suse.de>
2546
2547         * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
2548
2549 2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
2550
2551         * configure.in: AC_LINK_FILES(ffitarget.h).
2552         * configure: Regenerate.
2553         * Makefile.in: Likewise.
2554         * include/Makefile.in: Likewise.
2555         * testsuite/Makefile.in: Likewise.
2556         * fficonfig.h.in: Likewise.
2557
2558 2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
2559             Richard Henderson  <rth@redhat.com>
2560
2561         Avoid that ffi.h includes fficonfig.h.
2562
2563         * Makefile.am (EXTRA_DIST): Include ffitarget.h files
2564         (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
2565         (TARGET_SRC_MIPS_SGI): Removed.
2566         (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
2567         (MIPS_SGI): Removed.
2568         (CLEANFILES): Removed.
2569         (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
2570         targets.
2571         * acconfig.h: Removed.
2572         * configure.in: Compute sizeofs only for double and long double.
2573         Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
2574         into AC_DEFINE instead of using acconfig.h.  Create
2575         include/ffitarget.h instead of include/fficonfig.h.  Rename
2576         MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
2577         AC_DEFINE EH_FRAME_FLAGS.
2578         * include/Makefile.am (DISTCLEANFILES): New automake macro.
2579         (hack_DATA): Add ffitarget.h.
2580         * include/ffi.h.in: Remove all system specific definitions.
2581         Declare raw API even if it is not installed, why bother?
2582         Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
2583         not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
2584         ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
2585         (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
2586         * include/ffi_common.h (bool): Do not define.
2587         (ffi_assert): Accept failed assertion.
2588         (ffi_type_test): Return void and accept file/line.
2589         (FFI_ASSERT): Pass stringized failed assertion.
2590         (FFI_ASSERT_AT): New macro.
2591         (FFI_ASSERT_VALID_TYPE): New macro.
2592         (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
2593         UINT64, SINT64): Define here with gcc's __attribute__ macro
2594         instead of in ffi.h
2595         (FLOAT32, ALIGN): Define here instead of in ffi.h
2596         * include/ffi-mips.h: Removed.  Its content moved to
2597         src/mips/ffitarget.h after separating assembly and C sections.
2598         * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
2599         src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
2600         src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
2601         src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
2602         SIZEOF_ARG -> FFI_SIZEOF_ARG.
2603         * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
2604         * src/debug.c (ffi_assert): Accept stringized failed assertion.
2605         (ffi_type_test): Rewritten.
2606         * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
2607         FFI_ASSERT_VALID_TYPE.
2608         * src/alpha/ffitarget.h, src/arm/ffitarget.h,
2609         src/ia64/ffitarget.h, src/m68k/ffitarget.h,
2610         src/mips/ffitarget.h, src/powerpc/ffitarget.h,
2611         src/s390/ffitarget.h, src/sh/ffitarget.h,
2612         src/sh64/ffitarget.h, src/sparc/ffitarget.h,
2613         src/x86/ffitarget.h: New files.
2614         * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
2615         src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
2616         src/powerpc/aix.S, src/powerpc/darwin.S,
2617         src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
2618         src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
2619         src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
2620         src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
2621         src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
2622         include fficonfig.h
2623
2624 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2625
2626         * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
2627         _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
2628
2629 2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
2630
2631         * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
2632         Used when FFI_DEBUG = 1.
2633
2634 2003-10-14  Alan Modra  <amodra@bigpond.net.au>
2635
2636         * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
2637         and align.
2638
2639 2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2640
2641         * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
2642         FFI_MIPS_O32 for O32 ABI.
2643
2644 2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
2645
2646         * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
2647         SPARC64. Cleanup whitespaces.
2648
2649 2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
2650
2651         * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
2652         strongarm, xscale. Cleanup whitespaces.
2653         * testsuite/libffi.call/closure_fn1.c: Likewise.
2654         * testsuite/libffi.call/closure_fn2.c: Likewise.
2655         * testsuite/libffi.call/closure_fn3.c: Likewise.
2656         * testsuite/libffi.call/cls_12byte.c: Likewise.
2657         * testsuite/libffi.call/cls_16byte.c: Likewise.
2658         * testsuite/libffi.call/cls_1_1byte.c: Likewise.
2659         * testsuite/libffi.call/cls_20byte.c: Likewise.
2660         * testsuite/libffi.call/cls_24byte.c: Likewise.
2661         * testsuite/libffi.call/cls_2byte.c: Likewise.
2662         * testsuite/libffi.call/cls_3_1byte.c: Likewise.
2663         * testsuite/libffi.call/cls_3byte1.c: Likewise.
2664         * testsuite/libffi.call/cls_3byte2.c: Likewise.
2665         * testsuite/libffi.call/cls_4_1byte.c: Likewise.
2666         * testsuite/libffi.call/cls_4byte.c: Likewise.
2667         * testsuite/libffi.call/cls_5byte.c: Likewise.
2668         * testsuite/libffi.call/cls_6byte.c: Likewise.
2669         * testsuite/libffi.call/cls_7byte.c: Likewise.
2670         * testsuite/libffi.call/cls_8byte.c: Likewise.
2671         * testsuite/libffi.call/cls_double.c: Likewise.
2672         * testsuite/libffi.call/cls_float.c: Likewise.
2673         * testsuite/libffi.call/cls_uchar.c: Likewise.
2674         * testsuite/libffi.call/cls_uint.c: Likewise.
2675         * testsuite/libffi.call/cls_ulonglong.c: Likewise.
2676         * testsuite/libffi.call/cls_ushort.c: Likewise.
2677         * testsuite/libffi.call/nested_struct.c: Likewise.
2678         * testsuite/libffi.call/nested_struct1.c: Likewise.
2679         * testsuite/libffi.call/problem1.c: Likewise.
2680         * testsuite/libffi.special/unwindtest.cc: Likewise.
2681         * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
2682
2683 2003-09-18  David Edelsohn  <edelsohn@gnu.org>
2684
2685         * src/powerpc/aix.S: Cleanup whitespaces.
2686         * src/powerpc/aix_closure.S: Likewise.
2687
2688 2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
2689
2690         * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
2691         * src/powerpc/darwin_closure.S: Likewise.
2692         * src/powerpc/ffi_darwin.c: Likewise.
2693
2694 2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
2695             David Edelsohn  <edelsohn@gnu.org>
2696
2697         * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
2698         * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
2699         parameter stack.
2700         * src/powerpc/darwin_closure.S: Likewise.
2701         * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
2702         according to the Darwin/AIX ABI.
2703         (ffi_prep_cif_machdep): Likewise.
2704         (ffi_closure_helper_DARWIN): Likewise.
2705         Remove the outgoing parameter stack logic. Simplify the evaluation
2706         of the different CASE types.
2707         (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
2708         statement in the trampoline code.
2709
2710 2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
2711
2712         * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
2713         for the register size.
2714         (ffi_closure_helper_SYSV): Handle the structure return value
2715         address correctly.
2716         (ffi_closure_helper_SYSV): Return the appropriate type when
2717         the registers are used for the structure return value.
2718         * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
2719         the 64-bit return value.  Update copyright years.
2720
2721 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2722
2723         * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
2724         srcdir for ffi_mips.h.
2725
2726 2003-09-12  Alan Modra  <amodra@bigpond.net.au>
2727
2728         * src/prep_cif.c (initialize_aggregate): Include tail padding in
2729         structure size.
2730         * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
2731         placement of float result.
2732         * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
2733         cast of "resp" for big-endian 64 bit machines.
2734
2735 2003-09-11  Alan Modra  <amodra@bigpond.net.au>
2736
2737         * src/types.c (double, longdouble): Merge identical SH and ARM
2738         typedefs, and add POWERPC64.
2739         * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
2740         struct split over gpr and rest.
2741         (ffi_prep_cif_machdep): Correct intarg_count for structures.
2742         * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
2743
2744 2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
2745
2746         * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
2747         passing correctly.
2748
2749 2003-09-09  Alan Modra  <amodra@bigpond.net.au>
2750
2751         * configure: Regenerate.
2752
2753 2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
2754
2755         * Makefile.am: Remove build rules for ffitest.
2756         * Makefile.in: Rebuilt.
2757
2758 2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
2759
2760         * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
2761         about implicit declaration of abort().
2762
2763 2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
2764
2765         * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
2766         * Makefile.in: Rebuilt.
2767         * configure.in: Add dejagnu test framework.
2768         * configure: Rebuilt.
2769
2770         * testsuite/Makefile.am: New file.
2771         * testsuite/Makefile.in: Built
2772         * testsuite/lib/libffi-dg.exp: New file.
2773         * testsuite/config/default.exp: Likewise.
2774         * testsuite/libffi.call/call.exp: Likewise.
2775         * testsuite/libffi.call/ffitest.h: Likewise.
2776         * testsuite/libffi.call/closure_fn0.c: Likewise.
2777         * testsuite/libffi.call/closure_fn1.c: Likewise.
2778         * testsuite/libffi.call/closure_fn2.c: Likewise.
2779         * testsuite/libffi.call/closure_fn3.c: Likewise.
2780         * testsuite/libffi.call/cls_1_1byte.c: Likewise.
2781         * testsuite/libffi.call/cls_3_1byte.c: Likewise.
2782         * testsuite/libffi.call/cls_4_1byte.c: Likewise.
2783         * testsuite/libffi.call/cls_2byte.c: Likewise.
2784         * testsuite/libffi.call/cls_3byte1.c: Likewise.
2785         * testsuite/libffi.call/cls_3byte2.c: Likewise.
2786         * testsuite/libffi.call/cls_4byte.c: Likewise.
2787         * testsuite/libffi.call/cls_5byte.c: Likewise.
2788         * testsuite/libffi.call/cls_6byte.c: Likewise.
2789         * testsuite/libffi.call/cls_7byte.c: Likewise.
2790         * testsuite/libffi.call/cls_8byte.c: Likewise.
2791         * testsuite/libffi.call/cls_12byte.c: Likewise.
2792         * testsuite/libffi.call/cls_16byte.c: Likewise.
2793         * testsuite/libffi.call/cls_20byte.c: Likewise.
2794         * testsuite/libffi.call/cls_24byte.c: Likewise.
2795         * testsuite/libffi.call/cls_double.c: Likewise.
2796         * testsuite/libffi.call/cls_float.c: Likewise.
2797         * testsuite/libffi.call/cls_uchar.c: Likewise.
2798         * testsuite/libffi.call/cls_uint.c: Likewise.
2799         * testsuite/libffi.call/cls_ulonglong.c: Likewise.
2800         * testsuite/libffi.call/cls_ushort.c: Likewise.
2801         * testsuite/libffi.call/float.c: Likewise.
2802         * testsuite/libffi.call/float1.c: Likewise.
2803         * testsuite/libffi.call/float2.c: Likewise.
2804         * testsuite/libffi.call/many.c: Likewise.
2805         * testsuite/libffi.call/many_win32.c: Likewise.
2806         * testsuite/libffi.call/nested_struct.c: Likewise.
2807         * testsuite/libffi.call/nested_struct1.c: Likewise.
2808         * testsuite/libffi.call/pyobjc-tc.c: Likewise.
2809         * testsuite/libffi.call/problem1.c: Likewise.
2810         * testsuite/libffi.call/promotion.c: Likewise.
2811         * testsuite/libffi.call/return_ll.c: Likewise.
2812         * testsuite/libffi.call/return_sc.c: Likewise.
2813         * testsuite/libffi.call/return_uc.c: Likewise.
2814         * testsuite/libffi.call/strlen.c: Likewise.
2815         * testsuite/libffi.call/strlen_win32.c: Likewise.
2816         * testsuite/libffi.call/struct1.c: Likewise.
2817         * testsuite/libffi.call/struct2.c: Likewise.
2818         * testsuite/libffi.call/struct3.c: Likewise.
2819         * testsuite/libffi.call/struct4.c: Likewise.
2820         * testsuite/libffi.call/struct5.c: Likewise.
2821         * testsuite/libffi.call/struct6.c: Likewise.
2822         * testsuite/libffi.call/struct7.c: Likewise.
2823         * testsuite/libffi.call/struct8.c: Likewise.
2824         * testsuite/libffi.call/struct9.c: Likewise.
2825         * testsuite/libffi.special/special.exp: New file.
2826         * testsuite/libffi.special/ffitestcxx.h: Likewise.
2827         * testsuite/libffi.special/unwindtest.cc: Likewise.
2828
2829
2830 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
2831
2832         * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
2833         copyright years.
2834
2835 2003-08-02  Alan Modra  <amodra@bigpond.net.au>
2836
2837         * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
2838         structure passing.
2839         (ffi_closure_helper_LINUX64): Likewise.
2840         * src/powerpc/linux64.S: Remove code writing to parm save area.
2841         * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
2842         address in lr from ffi_closure_helper_LINUX64 call to calculate
2843         table address.  Optimize function tail.
2844
2845 2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
2846
2847         * src/sparc/ffi.c: Handle all floating point registers.
2848         * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
2849
2850 2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2851
2852         * README: Note that libffi is not part of GCC.  Update the project
2853         URL and status.
2854
2855 2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2856
2857         * src/powerpc/ppc_closure.S: Include ffi.h.
2858
2859 2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2860
2861         * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
2862         Use C style comments.
2863
2864 2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2865
2866         * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
2867         * Makefile.in: Regenerate.
2868         * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
2869         * configure: Regenerate.
2870         * include/ffi.h.in: Add SHmedia support.
2871         * src/sh64/ffi.c: New file.
2872         * src/sh64/sysv.S: New file.
2873
2874 2003-05-16  Jakub Jelinek  <jakub@redhat.com>
2875
2876         * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
2877         should be read-only.
2878         * configure: Rebuilt.
2879         * fficonfig.h.in: Rebuilt.
2880         * include/ffi.h.in (EH_FRAME_FLAGS): Define.
2881         * src/alpha/osf.S: Use EH_FRAME_FLAGS.
2882         * src/powerpc/linux64.S: Likewise.
2883         * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
2884         * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
2885         if -fpic/-fPIC/-mrelocatable.
2886         * src/powerpc/powerpc_closure.S: Likewise.
2887         * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
2888         #write in .eh_frame flags.
2889         * src/sparc/v9.S: Likewise.
2890         * src/x86/unix64.S: Use EH_FRAME_FLAGS.
2891         * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
2892         * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
2893
2894 2003-05-07  Jeff Sturm  <jsturm@one-point.com>
2895
2896         Fixes PR bootstrap/10656
2897         * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
2898         support for .register pseudo-op.
2899         * src/sparc/v8.S: Use it.
2900         * fficonfig.h.in: Rebuilt.
2901         * configure: Rebuilt.
2902
2903 2003-04-18  Jakub Jelinek  <jakub@redhat.com>
2904
2905         * include/ffi.h.in (POWERPC64): Define if 64-bit.
2906         (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
2907         Make it the default on POWERPC64.
2908         (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
2909         * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
2910         * configure: Rebuilt.
2911         * src/powerpc/ffi.c (hidden): Define.
2912         (ffi_prep_args_SYSV): Renamed from
2913         ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
2914         (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
2915         ASM_NEEDS_REGISTERS64): New.
2916         (ffi_prep_args64): New function.
2917         (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
2918         (ffi_call): Likewise.
2919         (ffi_prep_closure): Likewise.
2920         (flush_icache): Surround by #ifndef POWERPC64.
2921         (ffi_dblfl): New union type.
2922         (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
2923         (ffi_closure_helper_LINUX64): New function.
2924         * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
2925         __powerpc64__.
2926         * src/powerpc/sysv.S: Likewise.
2927         (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
2928         * src/powerpc/linux64.S: New file.
2929         * src/powerpc/linux64_closure.S: New file.
2930         * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
2931         src/powerpc/linux64_closure.S.
2932         (TARGET_SRC_POWERPC): Likewise.
2933
2934         * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
2935         closure_test_fn3): Fix result printing on big-endian 64-bit
2936         machines.
2937         (main): Print tst2_arg instead of uninitialized tst2_result.
2938
2939         * src/ffitest.c (main): Hide what closure pointer really points to
2940         from the compiler.
2941
2942 2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
2943
2944         * configure.in (arm-*-netbsdelf*): Add configuration.
2945         (configure): Regenerated.
2946
2947 2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
2948
2949         * include/Makefile.in: Regenerate.
2950
2951 2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2952
2953         * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
2954         bit mode.
2955         * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
2956         Receive closure pointer through parameter, read args using
2957         __builtin_dwarf_cfa.
2958         (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
2959
2960 2003-03-12  Andreas Schwab  <schwab@suse.de>
2961
2962         * configure.in: Avoid trailing /. in toolexeclibdir.
2963         * configure: Rebuilt.
2964
2965 2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
2966
2967         * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
2968
2969 2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
2970
2971         * libffi/src/powerpc/darwin_closure.S:
2972         Fix alignement bug, allocate 8 bytes for the result.
2973         * libffi/src/powerpc/aix_closure.S:
2974         Likewise.
2975         * libffi/src/powerpc/ffi_darwin.c:
2976         Update stackframe description for aix/darwin_closure.S.
2977
2978 2003-02-06  Jakub Jelinek  <jakub@redhat.com>
2979
2980         * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
2981         attribute.
2982
2983 2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
2984             Andreas Schwab  <schwab@suse.de>
2985
2986         * configure.in: Adjust command to source config-ml.in to account
2987         for changes to the libffi_basedir definition.
2988         (libffi_basedir): Remove ${srcdir} from value and include trailing
2989         slash if nonempty.
2990
2991         * configure: Regenerate.
2992
2993 2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2994
2995         * src/powerpc/ppc_closure.S: Recode to fit shared libs.
2996
2997 2003-01-28  Andrew Haley  <aph@redhat.com>
2998
2999         * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
3000         * src/x86/ffi64.c (ffi_prep_closure): New.
3001         (ffi_closure_UNIX64_inner): New.
3002         * src/x86/unix64.S (ffi_closure_UNIX64): New.
3003
3004 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
3005
3006         * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
3007         Remove USE_LIBDIR conditional.
3008         * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
3009         * Makefile.in, configure: Rebuilt.
3010
3011 2003-01027  David Edelsohn  <edelsohn@gnu.org>
3012
3013         * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
3014         * Makefile.in: Regenerate.
3015
3016 2003-01-22  Andrew Haley  <aph@redhat.com>
3017
3018         * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
3019         unwind info.
3020
3021 2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
3022
3023         * src/powerpc/darwin.S: Add unwind info.
3024         * src/powerpc/darwin_closure.S: Likewise.
3025
3026 2003-01-14  Andrew Haley  <aph@redhat.com>
3027
3028         * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
3029         (ffi_prep_cif_machdep): Likewise.
3030         * src/x86/unix64.S: Add unwind info.
3031
3032 2003-01-14  Andreas Jaeger  <aj@suse.de>
3033
3034         * src/ffitest.c (main): Only use ffi_closures if those are
3035         supported.
3036
3037 2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
3038
3039         * libffi/src/ffitest.c
3040          add closure testcases
3041
3042 2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
3043
3044         * libffi/src/powerpc/ffi.c
3045          fix alignment bug for float (4 byte aligned iso 8 byte)
3046
3047 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
3048
3049         * src/powerpc/ffi_darwin.c: Remove RCS version string.
3050         * src/powerpc/darwin.S: Remove RCS version string.
3051
3052 2003-01-03  Jeff Sturm  <jsturm@one-point.com>
3053
3054         * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
3055         * src/ffitest.c (main): Use static storage for closure.
3056         * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
3057         * src/sparc/v8.S (ffi_closure_v8): New.
3058         * src/sparc/v9.S (ffi_closure_v9): New.
3059
3060 2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
3061
3062         * include/ffi.h.in: Added FFI_STDCALL ffi_type
3063           enumeration for X86_WIN32.
3064         * src/x86/win32.S: Added ffi_call_STDCALL function
3065           definition.
3066         * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
3067           switch cases for recognising FFI_STDCALL and
3068           calling ffi_call_STDCALL if target is X86_WIN32.
3069         * src/ffitest.c (my_stdcall_strlen/stdcall_many):
3070           stdcall versions of the "my_strlen" and "many"
3071           test functions (for X86_WIN32).
3072           Added test cases to test stdcall invocation using
3073           these functions.
3074
3075 2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
3076
3077         * src/sh/sysv.S: Add DWARF2 unwind info.
3078
3079 2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
3080
3081         * src/s390/sysv.S (.eh_frame section): Make section read-only.
3082
3083 2002-11-26  Jim Wilson  <wilson@redhat.com>
3084
3085         * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
3086
3087 2002-11-23  H.J. Lu <hjl@gnu.org>
3088
3089         * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
3090         Include ../config/accross.m4.
3091         * aclocal.m4; Rebuild.
3092         * configure: Likewise.
3093
3094 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
3095
3096         * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
3097
3098 2002-11-11  DJ Delorie  <dj@redhat.com>
3099
3100         * configure.in: Look for common files in the right place.
3101
3102 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
3103
3104         * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
3105         raw data as _Jv_word values, not ffi_raw.
3106         (ffi_java_ptrarray_to_raw): Likewise.
3107         (ffi_java_rvalue_to_raw): New function.
3108         (ffi_java_raw_call): Call it.
3109         (ffi_java_raw_to_rvalue): New function.
3110         (ffi_java_translate_args): Call it.
3111         * src/ffitest.c (closure_test_fn): Interpret return value
3112         as ffi_arg, not int.
3113         * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
3114         FFI_TYPE_POINTER case.
3115         (ffi_closure_helper_SYSV): Likewise.  Also, assume return
3116         values extended to word size.
3117
3118 2002-10-02  Andreas Jaeger  <aj@suse.de>
3119
3120         * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
3121
3122 2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
3123
3124         * include/ffi.h.in: Fix i386 win32 compilation.
3125
3126 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
3127
3128         * configure.in: Add s390x-*-linux-* target.
3129         * configure: Regenerate.
3130         * include/ffi.h.in: Define S390X for s390x targets.
3131         (FFI_CLOSURES): Define for s390/s390x.
3132         (FFI_TRAMPOLINE_SIZE): Likewise.
3133         (FFI_NATIVE_RAW_API): Likewise.
3134         * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
3135         * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
3136         * src/s390/ffi.c: Major rework of existing code.  Add support for
3137         s390x targets.  Add closure support.
3138         * src/s390/sysv.S: Likewise.
3139
3140 2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
3141
3142         * src/arm/sysv.S: Fix typo.
3143
3144 2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
3145
3146         * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
3147         has defined __USER_LABEL_PREFIX__, then use it in CNAME.
3148         (ffi_call_SYSV): Handle soft-float.
3149
3150 2002-09-27  Bo Thorsen  <bo@suse.de>
3151
3152         * include/ffi.h.in: Fix multilib x86-64 support.
3153
3154 2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3155
3156         * Makefile.am (all-multi): Fix multilib parallel build.
3157
3158 2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
3159
3160         * configure.in (sh[34]*-*-linux*): Add brackets.
3161         * configure: Regenerate.
3162
3163 2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
3164
3165         * Makefile.am: Add SH support.
3166         * Makefile.in: Regenerate.
3167         * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
3168         * configure: Regenerate.
3169         * include/ffi.h.in: Add SH support.
3170         * src/sh/ffi.c: New file.
3171         * src/sh/sysv.S: New file.
3172         * src/types.c: Add SH support.
3173
3174 2002-07-16  Bo Thorsen  <bo@suse.de>
3175
3176         * src/x86/ffi64.c: New file that adds x86-64 support.
3177         * src/x86/unix64.S: New file that handles argument setup for
3178         x86-64.
3179         * src/x86/sysv.S: Don't use this on x86-64.
3180         * src/x86/ffi.c: Don't use this on x86-64.
3181         Remove unused vars.
3182         * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
3183         for x86-64.
3184         * src/ffitest.c (struct6): New test that tests a special case in
3185         the x86-64 ABI.
3186         (struct7): Likewise.
3187         (struct8): Likewise.
3188         (struct9): Likewise.
3189         (closure_test_fn): Silence warning about this when it's not used.
3190         (main): Add the new tests.
3191         (main): Fix a couple of wrong casts and silence some compiler warnings.
3192         * include/ffi.h.in: Add x86-64 ABI definition.
3193         * fficonfig.h.in: Regenerate.
3194         * Makefile.am: Add x86-64 support.
3195         * configure.in: Likewise.
3196         * Makefile.in: Regenerate.
3197         * configure: Likewise.
3198
3199 2002-06-24  Bo Thorsen  <bo@suse.de>
3200
3201         * src/types.c: Merge settings for similar architectures.
3202         Add x86-64 sizes and alignments.
3203
3204 2002-06-23  Bo Thorsen  <bo@suse.de>
3205
3206         * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
3207         * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
3208         * src/mips/ffi.c (ffi_prep_args): Likewise.
3209         * src/m68k/ffi.c (ffi_prep_args): Likewise.
3210
3211 2002-07-18  H.J. Lu  (hjl@gnu.org)
3212
3213         * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
3214         (libffi_la_SOURCES): Support MIPS_LINUX.
3215         (libffi_convenience_la_SOURCES): Likewise.
3216         * Makefile.in: Regenerated.
3217
3218         * configure.in (mips64*-*): Skip.
3219         (mips*-*-linux*): New.
3220         * configure: Regenerated.
3221
3222         * src/mips/ffi.c: Include <sgidefs.h>.
3223
3224 2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
3225
3226         * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
3227
3228 2002-05-27  Roger Sayle  <roger@eyesopen.com>
3229
3230         * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
3231
3232 2002-05-27  Bo Thorsen  <bo@suse.de>
3233
3234         * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
3235         fix formatting.
3236
3237 2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
3238
3239         * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
3240         beginning of function (for older apple cc).
3241
3242 2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
3243
3244         * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
3245         script entry, and set LD to it when configuring multilibs.
3246         * configure: Rebuilt.
3247
3248 2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
3249
3250         * configure.in (sparc64-*-netbsd*): Add target.
3251         (sparc-*-netbsdelf*): Likewise.
3252         * configure: Regenerate.
3253
3254 2002-04-28  David S. Miller  <davem@redhat.com>
3255
3256         * configure.in, configure: Fix SPARC test in previous change.
3257
3258 2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
3259
3260         * Makefile.am: Add Linux for S/390 support.
3261         * Makefile.in: Regenerate.
3262         * configure.in: Add Linux for S/390 support.
3263         * configure: Regenerate.
3264         * include/ffi.h.in: Add Linux for S/390 support.
3265         * src/s390/ffi.c: New file from libffi CVS tree.
3266         * src/s390/sysv.S: New file from libffi CVS tree.
3267
3268 2002-04-28  Jakub Jelinek  <jakub@redhat.com>
3269
3270         * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
3271         %r_disp32().
3272         * src/sparc/v8.S: Use it.
3273         * src/sparc/v9.S: Likewise.
3274         * fficonfig.h.in: Rebuilt.
3275         * configure: Rebuilt.
3276
3277 2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
3278
3279         * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
3280         correctly.
3281         * src/ia64/unix.S: Add unwind information. Fix comments.
3282         Save sp in a way that's compatible with unwind info.
3283         (ffi_call_unix): Correctly restore sp in all cases.
3284         * src/ia64/ffi.c: Add, fix comments.
3285
3286 2002-04-08  Jakub Jelinek  <jakub@redhat.com>
3287
3288         * src/sparc/v8.S: Make .eh_frame dependent on target word size.
3289
3290 2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
3291
3292         * configure.in (alpha*-*-netbsd*): Add target.
3293         * configure: Regenerate.
3294
3295 2002-04-04  Jeff Sturm  <jsturm@one-point.com>
3296
3297         * src/sparc/v8.S: Add unwind info.
3298         * src/sparc/v9.S: Likewise.
3299
3300 2002-03-30  Krister Walfridsson  <cato@df.lth.se>
3301
3302         * configure.in: Enable i*86-*-netbsdelf*.
3303         * configure: Rebuilt.
3304
3305 2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
3306
3307         PR other/2620
3308         * src/mips/n32.s: Delete
3309         * src/mips/o32.s: Delete
3310
3311 2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
3312
3313         * configure.in: Enable alpha*-*-freebsd*.
3314         * configure: Rebuilt.
3315
3316 2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3317
3318         * Makefile.am: libfficonvenience -> libffi_convenience.
3319         * Makefile.in: Rebuilt.
3320
3321         * Makefile.am: Define ffitest_OBJECTS.
3322         * Makefile.in: Rebuilt.
3323
3324 2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
3325             David Edelsohn  <edelsohn@gnu.org>
3326
3327         * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
3328         (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
3329         (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
3330         * Makefile.in: Regenerate.
3331         * include/ffi.h.in: Add AIX and Darwin closure definitions.
3332         * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
3333         (flush_icache, flush_range): New functions.
3334         (ffi_closure_helper_DARWIN): New function.
3335         * src/powerpc/aix_closure.S: New file.
3336         * src/powerpc/darwin_closure.S: New file.
3337
3338 2002-02-24  Jeff Sturm  <jsturm@one-point.com>
3339
3340         * include/ffi.h.in: Add typedef for ffi_arg.
3341         * src/ffitest.c (main): Declare rint with ffi_arg.
3342
3343 2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
3344
3345         * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
3346         number of GPRs for floating-point arguments.
3347
3348 2002-01-31  Anthony Green  <green@redhat.com>
3349
3350         * configure: Rebuilt.
3351         * configure.in: Replace CHECK_SIZEOF and endian tests with
3352         cross-compiler friendly macros.
3353         * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
3354         macros.
3355
3356 2002-01-18  David Edelsohn  <edelsohn@gnu.org>
3357
3358         * src/powerpc/darwin.S (_ffi_call_AIX): New.
3359         * src/powerpc/aix.S (ffi_call_DARWIN): New.
3360
3361 2002-01-17  David Edelsohn  <edelsohn@gnu.org>
3362
3363         * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
3364         (TARGET_SRC_POWERPC_AIX): New.
3365         (POWERPC_AIX): New stanza.
3366         * Makefile.in: Regenerate.
3367         * configure.in: Add AIX case.
3368         * configure: Regenerate.
3369         * include/ffi.h.in (ffi_abi): Add FFI_AIX.
3370         * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
3371         size.  Fix "long double" support.
3372         (ffi_call): Add FFI_AIX case.
3373         * src/powerpc/aix.S: New.
3374
3375 2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
3376
3377         Implement Darwin PowerPC ABI.
3378         * configure.in: Handle powerpc-*-darwin*.
3379         * Makefile.am: Set source files for POWERPC_DARWIN.
3380         * configure: Rebuilt.
3381         * Makefile.in: Rebuilt.
3382         * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
3383         POWERPC_DARWIN.
3384         * src/powerpc/darwin.S: New file.
3385         * src/powerpc/ffi_darwin.c: New file.
3386
3387 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
3388
3389         * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
3390
3391 2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3392
3393         * src/x86/sysv.S: Avoid gas-only .balign directive.
3394         Use C style comments.
3395
3396 2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3397
3398         * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
3399         Fixes PR bootstrap/3563.
3400
3401 2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3402
3403         * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
3404
3405 2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3406
3407         * configure.in: Recognize sparc*-sun-* host.
3408         * configure: Regenerate.
3409
3410 2001-06-06  Andrew Haley  <aph@redhat.com>
3411
3412         * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
3413
3414 2001-06-03  Andrew Haley  <aph@redhat.com>
3415
3416         * src/alpha/osf.S: Add unwind info.
3417         * src/powerpc/sysv.S: Add unwind info.
3418         * src/powerpc/ppc_closure.S: Likewise.
3419
3420 2000-05-31  Jeff Sturm  <jsturm@one-point.com>
3421
3422         * configure.in: Fix AC_ARG_ENABLE usage.
3423         * configure: Rebuilt.
3424
3425 2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
3426
3427         * configure.in: Remove warning about beta code.
3428         * configure: Rebuilt.
3429
3430 2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
3431
3432         * src/ia64/unix.S: Restore stack pointer when returning from
3433         ffi_closure_UNIX.
3434         * src/ia64/ffi.c: Fix typo in comment.
3435
3436 2001-04-18  Jim Wilson  <wilson@redhat.com>
3437
3438         * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
3439         to eliminate RAW DV.
3440
3441 2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
3442
3443         * Makefile.am: Make a libtool convenience library.
3444         * Makefile.in: Rebuilt.
3445
3446 2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
3447
3448         * configure.in: Use different syntax for subdirectory creation.
3449         * configure: Rebuilt.
3450
3451 2001-03-27  Jon Beniston  <jon@beniston.com>
3452
3453         * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
3454         * configure: Rebuilt.
3455         * Makefile.am: Added X86_WIN32 target support.
3456         * Makefile.in: Rebuilt.
3457
3458         * include/ffi.h.in: Added X86_WIN32 target support.
3459
3460         * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
3461         * src/types.c: Added X86_WIN32 target support.
3462
3463         * src/x86/win32.S: New file. Based on sysv.S, but with EH
3464         stuff removed and made to work with CygWin's gas.
3465
3466 2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
3467
3468         * configure.in: Make target subdirectory in build dir.
3469         * Makefile.am: Override suffix based rules to specify correct output
3470         subdirectory.
3471         * Makefile.in: Rebuilt.
3472         * configure: Rebuilt.
3473
3474 2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
3475
3476         * src/powerpc/ppc_closure.S: New file.
3477         * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
3478         involving long long and register pairs.
3479         (ffi_prep_closure): New function.
3480         (flush_icache): Likewise.
3481         (ffi_closure_helper_SYSV): Likewise.
3482         * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
3483         (FFI_TRAMPOLINE_SIZE): Likewise.
3484         (FFI_NATIVE_RAW_API): Likewise.
3485         * Makefile.in: Rebuilt.
3486         * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
3487         (TARGET_SRC_POWERPC): Likewise.
3488
3489 2001-03-19  Tom Tromey  <tromey@redhat.com>
3490
3491         * Makefile.in: Rebuilt.
3492         * Makefile.am (ffitest_LDFLAGS): New macro.
3493
3494 2001-03-02  Nick Clifton  <nickc@redhat.com>
3495
3496         * include/ffi.h.in: Remove RCS ident string.
3497         * include/ffi_mips.h: Remove RCS ident string.
3498         * src/debug.c: Remove RCS ident string.
3499         * src/ffitest.c: Remove RCS ident string.
3500         * src/prep_cif.c: Remove RCS ident string.
3501         * src/types.c: Remove RCS ident string.
3502         * src/alpha/ffi.c: Remove RCS ident string.
3503         * src/alpha/osf.S: Remove RCS ident string.
3504         * src/arm/ffi.c: Remove RCS ident string.
3505         * src/arm/sysv.S: Remove RCS ident string.
3506         * src/mips/ffi.c: Remove RCS ident string.
3507         * src/mips/n32.S: Remove RCS ident string.
3508         * src/mips/o32.S: Remove RCS ident string.
3509         * src/sparc/ffi.c: Remove RCS ident string.
3510         * src/sparc/v8.S: Remove RCS ident string.
3511         * src/sparc/v9.S: Remove RCS ident string.
3512         * src/x86/ffi.c: Remove RCS ident string.
3513         * src/x86/sysv.S: Remove RCS ident string.
3514
3515 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
3516
3517         * include/ffi.h.in: Change sourceware.cygnus.com references to
3518         gcc.gnu.org.
3519
3520 2000-12-09  Richard Henderson  <rth@redhat.com>
3521
3522         * src/alpha/ffi.c (ffi_call): Simplify struct return test.
3523         (ffi_closure_osf_inner): Index rather than increment avalue
3524         and arg_types.  Give ffi_closure_osf the raw return value type.
3525         * src/alpha/osf.S (ffi_closure_osf): Handle return value type
3526         promotion.
3527
3528 2000-12-07  Richard Henderson  <rth@redhat.com>
3529
3530         * src/raw_api.c (ffi_translate_args): Fix typo.
3531         (ffi_prep_closure): Likewise.
3532
3533         * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
3534         FFI_TRAMPOLINE_SIZE.
3535         * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
3536         cif->bytes for new ffi_call_osf implementation.
3537         (ffi_prep_args): Absorb into ...
3538         (ffi_call): ... here.  Do all stack allocation here and
3539         avoid a callback function.
3540         (ffi_prep_closure, ffi_closure_osf_inner): New.
3541         * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
3542         (ffi_closure_osf): New.
3543
3544 2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
3545
3546         * config.guess, config.sub, install-sh: Removed.
3547         * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
3548         * Makefile.in: Rebuilt.
3549
3550         * acinclude.m4: Include libtool macros from the top level.
3551         * aclocal.m4, configure: Rebuilt.
3552
3553 2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
3554
3555         * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
3556         * configure: Rebuilt.
3557
3558 2000-05-11  Scott Bambrough  <scottb@netwinder.org>
3559
3560         * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
3561         memory correctly.  Use conditional instructions, not branches where
3562         possible.
3563
3564 2000-05-04  Tom Tromey  <tromey@cygnus.com>
3565
3566         * configure: Rebuilt.
3567         * configure.in: Match `arm*-*-linux-*'.
3568         From Chris Dornan <cdornan@arm.com>.
3569
3570 2000-04-28  Jakub Jelinek  <jakub@redhat.com>
3571
3572         * Makefile.am (SUBDIRS): Define.
3573         (AM_MAKEFLAGS): Likewise.
3574         (Multilib support.): Add section.
3575         * Makefile.in: Rebuilt.
3576         * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
3577         New variables. Set for gcc using -print-multi-lib. Export them
3578         to libtool.
3579         (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
3580         * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
3581         for -shared links.
3582         (extra_compiler_flags_value, extra_compiler_flags): Check these
3583         for extra compiler options which need to be passed down in
3584         compiler_flags.
3585
3586 2000-04-16  Anthony Green  <green@redhat.com>
3587
3588         * configure: Rebuilt.
3589         * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
3590
3591 2000-04-14  Jakub Jelinek  <jakub@redhat.com>
3592
3593         * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
3594         Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
3595         * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
3596         Replace all void * sizeofs with sizeof(int).
3597         Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
3598         different than DOUBLE.
3599         Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
3600         (ffi_prep_args_v9): New function.
3601         (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
3602         (ffi_V9_return_struct): New function.
3603         (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
3604         32bit code (not yet cross-arch calls).
3605         * src/sparc/v8.S: Add struct return delay nop.
3606         Handle long long.
3607         * src/sparc/v9.S: New file.
3608         * src/prep_cif.c (ffi_prep_cif): Return structure pointer
3609         is used on sparc64 only for structures larger than 32 bytes.
3610         Pass by reference for structures is done for structure arguments
3611         larger than 16 bytes.
3612         * src/ffitest.c (main): Use 64bit rint on sparc64.
3613         Run long long tests on sparc.
3614         * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
3615         sparc64.
3616         (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
3617         on sparc64.
3618         * configure.in (sparc-*-linux*): New supported target.
3619         (sparc64-*-linux*): Likewise.
3620         * configure: Rebuilt.
3621         * Makefile.am: Add v9.S to SPARC files.
3622         * Makefile.in: Likewise.
3623         (LINK): Surround $(CCLD) into double quotes, so that multilib
3624         compiles work correctly.
3625
3626 2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
3627
3628         * configure: Rebuilt.
3629         * configure.in: (i*86-*-solaris*): New libffi target. Patch
3630         proposed by Bryce McKinlay.
3631
3632 2000-03-20  Tom Tromey  <tromey@cygnus.com>
3633
3634         * Makefile.in: Hand edit for java_raw_api.lo.
3635
3636 2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
3637
3638         * config.guess, config.sub: Update from the gcc tree.
3639         Fix for PR libgcj/168.
3640
3641 2000-03-03  Tom Tromey  <tromey@cygnus.com>
3642
3643         * Makefile.in: Fixed ia64 by hand.
3644
3645         * configure: Rebuilt.
3646         * configure.in (--enable-multilib): New option.
3647         (libffi_basedir): New subst.
3648         (AC_OUTPUT): Added multilib code.
3649
3650 2000-03-02  Tom Tromey  <tromey@cygnus.com>
3651
3652         * Makefile.in: Rebuilt.
3653         * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
3654         directory name.
3655
3656 2000-02-25  Hans Boehm <boehm@acm.org>
3657
3658         * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
3659         files.
3660         * src/raw_api.c (ffi_translate_args): Fixed typo in argument
3661         list.
3662         (ffi_prep_raw_closure): Use ffi_translate_args, not
3663         ffi_closure_translate.
3664         * src/java_raw_api.c: New file.
3665         * src/ffitest.c (closure_test_fn): New function.
3666         (main): Define `rint' as long long on IA64.  Added new test when
3667         FFI_CLOSURES is defined.
3668         * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
3669         (ffi_abi): Recognize IA64.
3670         (ffi_raw): Added `flt' field.
3671         Added "Java raw API" code.
3672         * configure.in: Recognize ia64.
3673         * Makefile.am (TARGET_SRC_IA64): New macro.
3674         (libffi_la_common_SOURCES): Added java_raw_api.c.
3675         (libffi_la_SOURCES): Define in IA64 case.
3676
3677 2000-01-04  Tom Tromey  <tromey@cygnus.com>
3678
3679         * Makefile.in: Rebuilt with newer automake.
3680
3681 1999-12-31  Tom Tromey  <tromey@cygnus.com>
3682
3683         * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
3684
3685 1999-09-01  Tom Tromey  <tromey@cygnus.com>
3686
3687         * include/ffi.h.in: Removed PACKAGE and VERSION defines and
3688         undefs.
3689         * fficonfig.h.in: Rebuilt.
3690         * configure: Rebuilt.
3691         * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
3692         Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
3693         * acconfig.h: Don't #undef PACKAGE or VERSION.
3694
3695 1999-08-09  Anthony Green  <green@cygnus.com>
3696
3697         * include/ffi.h.in: Try to work around messy header problem
3698         with PACKAGE and VERSION.
3699
3700         * configure: Rebuilt.
3701         * configure.in: Change version to 2.00-beta.
3702
3703         * fficonfig.h.in: Rebuilt.
3704         * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
3705
3706         * src/x86/ffi.c (ffi_raw_call): Rename.
3707
3708 1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
3709
3710         * src/x86/ffi.c (ffi_closure_SYSV): New function.
3711         (ffi_prep_incoming_args_SYSV): Ditto.
3712         (ffi_prep_closure): Ditto.
3713         (ffi_closure_raw_SYSV): Ditto.
3714         (ffi_prep_raw_closure): More ditto.
3715         (ffi_call_raw): Final ditto.
3716
3717         * include/ffi.h.in: Add definitions for closure and raw API.
3718
3719         * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
3720         FFI_TYPE_UINT64.
3721
3722         * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
3723
3724         * src/raw_api.c: New file.
3725
3726         * include/ffi.h.in (ffi_raw): New type.
3727         (UINT_ARG, SINT_ARG): New defines.
3728         (ffi_closure, ffi_raw_closure): New types.
3729         (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
3730
3731         * configure.in: Add check for endianness and sizeof void*.
3732
3733         * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
3734         instead of directly.
3735
3736         * configure: Rebuilt.
3737
3738 Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
3739
3740         * configure.in: Add x86 and powerpc BeOS configurations.
3741         From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
3742
3743 1999-05-09  Anthony Green  <green@cygnus.com>
3744
3745         * configure.in: Add warning about this being beta code.
3746         Remove src/Makefile.am from the picture.
3747         * configure: Rebuilt.
3748
3749         * Makefile.am: Move logic from src/Makefile.am.  Add changes
3750         to support libffi as a target library.
3751         * Makefile.in: Rebuilt.
3752
3753         * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
3754         Upgraded to new autoconf, automake, libtool.
3755
3756         * README: Tweaks.
3757
3758         * LICENSE: Update copyright date.
3759
3760         * src/Makefile.am, src/Makefile.in: Removed.
3761
3762 1998-11-29  Anthony Green  <green@cygnus.com>
3763
3764         * include/ChangeLog: Removed.
3765         * src/ChangeLog: Removed.
3766         * src/mips/ChangeLog: Removed.
3767         * src/sparc/ChangeLog: Remboved.
3768         * src/x86/ChangeLog: Removed.
3769
3770         * ChangeLog.v1: Created.