OSDN Git Service

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