OSDN Git Service

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