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