OSDN Git Service

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