OSDN Git Service

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