OSDN Git Service

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