OSDN Git Service

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