OSDN Git Service

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