OSDN Git Service

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