OSDN Git Service

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