OSDN Git Service

2005-08-10 Alfred M. Szmidt <ams@gnu.org>
[pf3gnuchains/gcc-fork.git] / libffi / ChangeLog
1 2005-08-10  Alfred M. Szmidt  <ams@gnu.org>
2
3         PR libffi/21819:
4         * configure: Rebuilt.
5         * configure.ac: Handle i*86-*-gnu*.
6
7 2005-08-09  Jakub Jelinek  <jakub@redhat.com>
8
9         * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
10         DW_CFA_offset_extended_sf rather than
11         DW_CFA_GNU_negative_offset_extended.
12         * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
13
14 2005-07-22  SUGIOKA Toshinobu  <sugioka@itonet.co.jp>
15
16         * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
17         on sh3.
18         (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
19         * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
20         partially on register.
21         (ffi_closure_helper_SYSV): Likewise.
22         (ffi_prep_cif_machdep): Don't set too many cif->flags.
23
24 2005-07-20  Kaz Kojima  <kkojima@gcc.gnu.org>
25
26         * src/sh/ffi.c (ffi_call): Handle small structures correctly.
27         Remove empty line.
28         * src/sh64/ffi.c (simple_type): Remove.
29         (return_type): Handle small structures correctly.
30         (ffi_prep_args): Likewise.
31         (ffi_call): Likewise.
32         (ffi_closure_helper_SYSV): Likewise.
33         * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
34         Emit position independent code if PIC and remove wrong datalabel
35         prefixes from EH data.
36
37 2005-07-19  Andreas Tobler  <a.tobler@schweiz.ch>
38
39         * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
40         * Makefile.in: Regenerate.
41         * include/Makefile.in: Likewise.
42         * testsuite/Makefile.in: Likewise.
43         * configure.ac: Add POWERPC_FREEBSD rules.
44         * configure: Regenerate.
45         * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
46         (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
47         * src/powerpc/ffi.c: Add flags to handle small structure returns
48         in ffi_call_SYSV.
49         (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
50         Aka FFI_SYSV.
51         (ffi_closure_helper_SYSV): Likewise.
52         * src/powerpc/ppc_closure.S: Add return types for small structures.
53         * src/powerpc/sysv.S: Add bits to handle small structures for
54         final SYSV 4 ABI.
55
56 2005-07-10  Andreas Tobler  <a.tobler@schweiz.ch>
57
58         * testsuite/libffi.call/cls_5_1_byte.c: New test file.
59         * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
60         * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
61
62 2005-07-05  Randolph Chung  <tausq@debian.org>
63
64         * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
65         as FFI_TYPE_SMALL_STRUCT3.  Break out handling for 5-7 byte
66         structures.  Kill compilation warnings.
67         (ffi_closure_inner_LINUX): Print return values as hex in debug
68         message.  Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
69         Properly handle 5-7 byte structure returns.
70         * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
71         (FFI_TYPE_SMALL_STRUCT2): Remove.
72         (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
73         (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
74         * src/pa/linux.S: Mark source file as using PA1.1 assembly.
75         (checksmst1, checksmst2): Remove.
76         (checksmst3): Optimize handling of 3-byte struct returns.
77         (checksmst567): Properly handle 5-7 byte struct returns.
78
79 2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
80
81         PR libgcj/21943
82         * src/mips/n32.S: Enforce PIC code.
83         * src/mips/o32.S: Likewise.
84
85 2005-06-15  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
86
87         * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
88         * configure: Regenerate.
89         
90 2005-06-01  Alan Modra  <amodra@bigpond.net.au>
91
92         * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
93         to call ffi_closure_helper_SYSV.  Append @local instead.
94         * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
95
96 2005-05-17  Kelley Cook  <kcook@gcc.gnu.org>
97
98         * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
99         Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
100         * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
101         * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
102         include/Makefile.in, testsuite/Makefile.in: Regenerate.
103         
104 2005-05-09  Mike Stump  <mrs@apple.com>
105
106         * configure: Regenerate.
107
108 2005-05-08  Richard Henderson  <rth@redhat.com>
109
110         PR libffi/21285
111         * src/alpha/osf.S: Update unwind into to match code.
112
113 2005-05-04  Andreas Degert <ad@papyrus-gmbh.de>
114             Richard Henderson  <rth@redhat.com>
115
116         * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
117         bit 11 of flags.
118         (ffi_call): Mask return type field.  Pass ssecount to ffi_call_unix64.
119         (ffi_prep_closure): Set carry bit if sse-used flag set.
120         * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
121         Only load sse registers if ssecount non-zero.
122         (ffi_closure_unix64): Only save sse registers if carry set on entry.
123
124 2005-04-29  Ralf Corsepius  <ralf.corsepius@rtems.org>
125
126         * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
127         powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
128         * configure: Regenerate.
129
130 2005-04-20  Hans-Peter Nilsson  <hp@axis.com>
131
132         * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
133         have Tcl8.3-compatible intermediate variable.
134
135 2005-04-18  Simon Posnjak <simon.posnjak@siol.net> 
136             Hans-Peter Nilsson  <hp@axis.com>
137
138         * Makefile.am: Add CRIS support.
139         * configure.ac: Likewise.
140         * Makefile.in, configure, testsuite/Makefile.in,
141         include/Makefile.in: Regenerate.
142         * src/cris: New directory.
143         * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
144         * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
145
146         * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
147         \r?\n in output tests.
148
149 2005-04-12  Mike Stump  <mrs@apple.com>
150
151         * configure: Regenerate.
152
153 2005-03-30  Hans Boehm  <Hans.Boehm@hp.com>
154
155         * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
156         
157 2005-03-30  Steve Ellcey  <sje@cup.hp.com>
158
159         * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
160         (ffi_sarg) Ditto.
161         * src/ia64/unix.S (ffi_closure_unix): Extend gp
162         to 64 bits in ILP32 mode.
163         Load 64 bits even for short data.
164
165 2005-03-23  Mike Stump  <mrs@apple.com>
166
167         * src/powerpc/darwin.S: Update for -m64 multilib.
168         * src/powerpc/darwin_closure.S: Likewise.
169
170 2005-03-21  Zack Weinberg  <zack@codesourcery.com>
171
172         * configure.ac: Do not invoke TL_AC_GCC_VERSION.
173         Do not set tool_include_dir.
174         * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
175         Regenerate.
176         * include/Makefile.am: Set gcc_version and toollibffidir.
177         * include/Makefile.in: Regenerate.
178
179 2005-02-22  Andrew Haley  <aph@redhat.com>
180
181         * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
182         odd-numbered register pairs for 64-bit integer types.
183
184 2005-02-23  Andreas Tobler  <a.tobler@schweiz.ch>
185
186         PR libffi/20104
187         * testsuite/libffi.call/return_ll1.c: New test case.
188
189 2005-02-11  Janis Johnson  <janis187@us.ibm.com>
190
191         * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
192         * testsuite/libffi.call/float.c: Ditto.
193         * testsuite/libffi.call/float2.c: Ditto.
194         * testsuite/libffi.call/float3.c: Ditto.
195
196 2005-02-08  Andreas Tobler  <a.tobler@schweiz.ch>
197
198         * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
199
200 2005-01-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
201
202         * testsuite/libffi.special/special.exp (cxx_options): Add
203         -shared-libgcc.
204
205 2004-12-31  Richard Henderson  <rth@redhat.com>
206
207         * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
208         (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF.  Replace size and
209         offset parameters with a type parameter; deduce size and structure
210         alignment.  Update all users.
211
212 2004-12-31  Richard Henderson  <rth@redhat.com>
213
214         * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
215         (FFI_TYPE_LONGDOUBLE): Fix for ia64.
216         * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
217         into ffi_prep_closure.
218         * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
219         from scratch.
220
221 2004-12-27  Richard Henderson  <rth@redhat.com>
222
223         * src/x86/unix64.S: Fix typo in unwind info.
224
225 2004-12-25  Richard Henderson  <rth@redhat.com>
226
227         * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
228         (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
229         (merge_classes): Check for it.
230         (SSE_CLASS_P): New.
231         (classify_argument): Pass byte_offset by value; perform all updates
232         inside struct case.
233         (examine_argument): Add classes argument; handle
234         X86_64_COMPLEX_X87_CLASS.
235         (ffi_prep_args): Merge into ...
236         (ffi_call): ... here.  Share stack frame with ffi_call_unix64.
237         (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
238         (ffi_fill_return_value): Remove.
239         (ffi_prep_closure): Remove dead assert.
240         (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
241         Rewrite to use struct register_args instead of va_list.  Create
242         flags for handling structure returns.
243         * src/x86/unix64.S: Remove dead strings.
244         (ffi_call_unix64): Rename from ffi_call_UNIX64.  Rewrite to share
245         stack frame with ffi_call.  Handle structure returns properly.
246         (float2sse, floatfloat2sse, double2sse): Remove.
247         (sse2float, sse2double, sse2floatfloat): Remove.
248         (ffi_closure_unix64): Rename from ffi_closure_UNIX64.  Rewrite
249         to handle structure returns properly.
250
251 2004-12-08  David Edelsohn  <edelsohn@gnu.org>
252
253         * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
254         PICFLAG.
255         * Makefile.in: Regenerated.
256
257 2004-12-02  Richard Sandiford  <rsandifo@redhat.com>
258
259         * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
260         * configure, aclocal.m4, Makefile.in: Regenerate.
261         * include/Makefile.in, testsuite/Makefile.in: Regenerate.
262
263 2004-11-29  Kelley Cook  <kcook@gcc.gnu.org>
264
265         * configure: Regenerate for libtool change.
266
267 2004-11-25  Kelley Cook  <kcook@gcc.gnu.org>
268
269         * configure: Regenerate for libtool reversion.
270
271 2004-11-24  Kelley Cook  <kcook@gcc.gnu.org>
272
273         * configure: Regenerate for libtool change.
274
275 2004-11-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
276
277         * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
278
279 2004-11-23  Richard Sandiford  <rsandifo@redhat.com>
280
281         * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
282         of jal.  Use an absolute encoding for the frame information.
283
284 2004-11-23  Kelley Cook  <kcook@gcc.gnu.org>
285
286         * Makefile.am: Remove no-dependencies.  Add ACLOCAL_AMFLAGS.
287         * acinclude.m4: Delete logic for sincludes.
288         * aclocal.m4, Makefile.in, configure: Regenerate.
289         * include/Makefile: Likewise.
290         * testsuite/Makefile: Likewise.
291
292 2004-11-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
293
294         * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
295         on a 8-byte boundary.
296         * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
297
298 2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
299
300         * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
301         long long values.  Round stack allocation to a multiple of 8 bytes
302         for ATPCS compatibility.
303         * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
304         names.  Handle returning long long types.  Add Thumb and interworking
305         support.  Improve soft-float code.
306
307 2004-10-27  Richard Earnshaw  <rearnsha@arm.com>
308
309         * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
310         (libffi_exit): New function.
311         (libffi_init): Build the testglue wrapper if needed.
312
313 2004-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
314
315         PR other/18138
316         * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
317
318 2004-10-25  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
319
320         * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
321
322 2004-10-20  Kaz Kojima  <kkojima@gcc.gnu.org>
323
324         * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
325         * testsuite/libffi.call/float3.c: New test case.
326
327 2004-10-18  Kaz Kojima  <kkojima@gcc.gnu.org>
328
329         * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
330         the function returning a structure pointed with R2.
331         * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
332         the structure return value if T bit set.  Emit position
333         independent code and EH data if PIC.
334
335 2004-10-13  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
336
337         * Makefile.am: Add m32r support.
338         * configure.ac: Likewise.
339         * Makefile.in: Regenerate.
340         * confiugre: Regenerate.
341         * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
342         (uint64, sint64, double, longdouble)
343         * src/m32r: New directory.
344         * src/m32r/ffi.c: New file.
345         * src/m32r/sysv.S: Likewise.
346         * src/m32r/ffitarget.h: Likewise.
347
348 2004-10-02  Kaz Kojima  <kkojima@gcc.gnu.org>
349
350         * testsuite/libffi.call/negint.c: New test case.
351
352 2004-09-14  H.J. Lu  <hongjiu.lu@intel.com>
353
354         PR libgcj/17465
355         * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
356         Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
357         LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
358         DYLD_LIBRARY_PATH.
359
360 2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
361
362         * testsuite/libffi.call/many_win32.c: Remove whitespaces.
363         * testsuite/libffi.call/promotion.c: Likewise.
364         * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
365         whitespaces.
366         * testsuite/libffi.call/return_sc.c: Likewise.
367         * testsuite/libffi.call/return_uc.c: Likewise.
368
369 2004-09-05  Andreas Tobler  <a.tobler@schweiz.ch>
370
371         * src/powerpc/darwin.S: Fix comments and identation.
372         * src/powerpc/darwin_closure.S: Likewise.
373
374 2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
375
376         * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
377         (ffi_prep_args): Handle longdouble arguments.
378         (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
379         longdouble.
380         (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
381         * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
382         values.
383         * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
384         * src/types.c: Defined longdouble size and alignment for darwin.
385
386 2004-09-02  Andreas Tobler  <a.tobler@schweiz.ch>
387
388         * src/powerpc/aix.S: Remove whitespaces.
389         * src/powerpc/aix_closure.S: Likewise.
390         * src/powerpc/asm.h: Likewise.
391         * src/powerpc/ffi.c: Likewise.
392         * src/powerpc/ffitarget.h: Likewise.
393         * src/powerpc/linux64.S: Likewise.
394         * src/powerpc/linux64_closure.S: Likewise.
395         * src/powerpc/ppc_closure.S: Likewise.
396         * src/powerpc/sysv.S: Likewise.
397
398 2004-08-30  Anthony Green  <green@redhat.com>
399
400         * Makefile.am: Add frv support.
401         * Makefile.in, testsuite/Makefile.in: Rebuilt.
402         * configure.ac: Read configure.host.
403         * configure.in: Read configure.host.
404         * configure.host: New file.  frv-elf needs libgloss.
405         * include/ffi.h.in: Force ffi_closure to have a nice big (8)
406         alignment.  This is needed to frv and shouldn't harm the others.
407         * include/ffi_common.h (ALIGN_DOWN): New macro.
408         * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
409
410 2004-08-24  David Daney  <daney@avtrex.com>
411
412         * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
413         * testsuite/libffi.call/closure_fn1.c: Likewise.
414         * testsuite/libffi.call/closure_fn2.c  Likewise.
415         * testsuite/libffi.call/closure_fn3.c: Likewise.
416         * testsuite/libffi.call/closure_fn4.c: Likewise.
417         * testsuite/libffi.call/closure_fn5.c: Likewise.
418         * testsuite/libffi.call/cls_18byte.c: Likewise.
419         * testsuite/libffi.call/cls_19byte.c: Likewise.
420         * testsuite/libffi.call/cls_1_1byte.c: Likewise.
421         * testsuite/libffi.call/cls_20byte.c: Likewise.
422         * testsuite/libffi.call/cls_20byte1.c: Likewise.
423         * testsuite/libffi.call/cls_24byte.c: Likewise.
424         * testsuite/libffi.call/cls_2byte.c: Likewise.
425         * testsuite/libffi.call/cls_3_1byte.c: Likewise.
426         * testsuite/libffi.call/cls_3byte1.c: Likewise.
427         * testsuite/libffi.call/cls_3byte2.c: Likewise.
428         * testsuite/libffi.call/cls_4_1byte.c: Likewise.
429         * testsuite/libffi.call/cls_4byte.c: Likewise.
430         * testsuite/libffi.call/cls_64byte.c: Likewise.
431         * testsuite/libffi.call/cls_6byte.c: Likewise.
432         * testsuite/libffi.call/cls_7byte.c: Likewise.
433         * testsuite/libffi.call/cls_8byte.c: Likewise.
434         * testsuite/libffi.call/cls_9byte1.c: Likewise.
435         * testsuite/libffi.call/cls_9byte2.c: Likewise.
436         * testsuite/libffi.call/cls_align_double.c: Likewise.
437         * testsuite/libffi.call/cls_align_float.c: Likewise.
438         * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
439         * testsuite/libffi.call/cls_align_pointer.c: Likewise.
440         * testsuite/libffi.call/cls_align_sint16.c: Likewise.
441         * testsuite/libffi.call/cls_align_sint32.c: Likewise.
442         * testsuite/libffi.call/cls_align_sint64.c: Likewise.
443         * testsuite/libffi.call/cls_align_uint16.c: Likewise.
444         * testsuite/libffi.call/cls_align_uint32.c: Likewise.
445         * testsuite/libffi.call/cls_align_uint64.c: Likewise.
446         * testsuite/libffi.call/cls_double.c: Likewise.
447         * testsuite/libffi.call/cls_float.c: Likewise.
448         * testsuite/libffi.call/cls_multi_schar.c: Likewise.
449         * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
450         * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
451         * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
452         * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
453         * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
454         * testsuite/libffi.call/cls_schar.c: Likewise.
455         * testsuite/libffi.call/cls_sint.c: Likewise.
456         * testsuite/libffi.call/cls_sshort.c: Likewise.
457         * testsuite/libffi.call/cls_uchar.c: Likewise.
458         * testsuite/libffi.call/cls_uint.c: Likewise.
459         * testsuite/libffi.call/cls_ulonglong.c: Likewise.
460         * testsuite/libffi.call/cls_ushort.c: Likewise.
461         * testsuite/libffi.call/nested_struct.c: Likewise.
462         * testsuite/libffi.call/nested_struct1.c: Likewise.
463         * testsuite/libffi.call/nested_struct2.c: Likewise.
464         * testsuite/libffi.call/nested_struct3.c: Likewise.
465         * testsuite/libffi.call/problem1.c: Likewise.
466         * testsuite/libffi.special/unwindtest.cc: Likewise.
467         * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
468         to zero.
469         * testsuite/libffi.call/cls_16byte.c: Likewise.
470         * testsuite/libffi.call/cls_5byte.c: Likewise.
471
472 2004-08-23  David Daney <daney@avtrex.com>
473
474         PR libgcj/13141
475         * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
476         * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
477         (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
478         parameters and return types.
479         (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
480         (ffi_prep_closure): Ditto.
481         (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
482         alignment calculations.
483         * src/mips/o32.S (ffi_closure_O32): Don't use floating point
484         instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
485
486 2004-08-14  Casey Marshall <csm@gnu.org>
487
488         * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
489         contain `FFI_TYPE_UINT64' as return type for any 64-bit
490         integer (O32 ABI only).
491         (ffi_prep_closure): new function.
492         (ffi_closure_mips_inner_O32): new function.
493         * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
494         `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
495         * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
496         64 bit integers correctly.
497         (ffi_closure_O32): new function.
498         Added DWARF-2 unwind info for both functions.
499
500 2004-08-10  Andrew Haley  <aph@redhat.com>
501
502         * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
503
504 2004-08-01  Robert Millan  <robertmh@gnu.org>
505
506         * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
507         * configure: Regenerate.
508
509 2004-07-30  Maciej W. Rozycki  <macro@linux-mips.org>
510
511         * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
512         and mmap() explicitly instead of relying on preset autoconf cache
513         variables.
514         * aclocal.m4: Regenerate.
515         * configure: Regenerate.
516
517 2004-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
518
519         * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
520         (ffi_check_float_struct): Remove unused prototype.
521
522 2004-06-30  Geoffrey Keating  <geoffk@apple.com>
523
524         * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
525         character on Darwin, use '\n\t' instead.
526
527 2004-06-26  Matthias Klose  <doko@debian.org>
528
529         * libtool-version: Fix typo in revision/age.
530
531 2004-06-17  Matthias Klose  <doko@debian.org>
532
533         * libtool-version: New.
534         * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
535         * Makefile.in: Regenerate.
536
537 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
538
539         * Makefile.am: Remove useless multilib rules.
540         * Makefile.in: Regenerate.
541         * aclocal.m4: Regenerate with automake 1.8.5.
542         * configure.ac: Remove useless multilib configury.
543         * configure: Regenerate.
544
545 2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
546
547         * .cvsignore: New file.
548
549 2004-06-10  Jakub Jelinek  <jakub@redhat.com>
550
551         * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
552         fp_done.
553         (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
554         changed from 8.
555
556 2004-06-06  Sean McNeil  <sean@mcneil.com>
557
558         * configure.ac: Add x86_64-*-freebsd* support.
559         * configure: Regenerate.
560
561 2004-04-26  Joe Buck <jbuck@welsh-buck.org>
562
563         Bug 15093
564         * configure.ac: Test for existence of mmap and sys/mman.h before
565         checking blacklist.  Fix suggested by Jim Wilson.
566         * configure: Regenerate.
567
568 2004-04-26  Matt Austern  <austern@apple.com>
569
570         * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
571         FDE location.
572         * src/powerpc/darwin_closure.S: Likewise.
573
574 2004-04-24  Andreas Tobler  <a.tobler@schweiz.ch>
575
576         * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
577         error. Reported by Thomas Heller <theller@python.net>.
578         * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
579         * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
580
581 2004-03-20  Matthias Klose  <doko@debian.org>
582
583         * src/pa/linux.S: Fix typo.
584
585 2004-03-19  Matthias Klose  <doko@debian.org>
586
587         * Makefile.am: Update.
588         * Makefile.in: Regenerate.
589         * src/pa/ffi.h.in: Remove.
590         * src/pa/ffitarget.h: New file.
591
592 2004-02-10  Randolph Chung  <tausq@debian.org>
593
594         * Makefile.am: Add PA support.
595         * Makefile.in: Regenerate.
596         * include/Makefile.in: Regenerate.
597         * configure.ac: Add PA target.
598         * configure: Regenerate.
599         * src/pa/ffi.c: New file.
600         * src/pa/ffi.h.in: Add PA support.
601         * src/pa/linux.S: New file.
602         * prep_cif.c: Add PA support.
603
604 2004-03-16  Hosaka Yuji  <hos@tamanegi.org>
605
606         * src/types.c: Fix alignment size of X86_WIN32 case int64 and
607         double.
608         * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
609         with ecif->cif->flags.
610         (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
611         with cif->flags.
612         (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
613         (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
614         * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
615         sc_retstruct2b): Add for 1 or 2-bytes struct case.
616
617 2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
618
619         * configure.in: Rename file to ...
620         * configure.ac: ... this.
621         * fficonfig.h.in: Regenerate.
622         * Makefile.in: Regenerate.
623         * include/Makefile.in: Regenerate.
624         * testsuite/Makefile.in: Regenerate.
625
626 2004-03-12  Matt Austern  <austern@apple.com>
627
628         * src/powerpc/darwin.S: Fix EH information so it corresponds to
629         changes in EH format resulting from addition of linkonce support.
630         * src/powerpc/darwin_closure.S: Likewise.
631
632 2004-03-11  Andreas Tobler  <a.tobler@schweiz.ch>
633             Paolo Bonzini  <bonzini@gnu.org>
634
635         * Makefile.am (AUTOMAKE_OPTIONS): Set them.
636         Remove VPATH. Remove rules for object files. Remove multilib support.
637         (AM_CCASFLAGS): Add.
638         * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
639         (AC_PREREQ): Bump version to 2.59.
640         (AC_INIT): Fill with version info and bug address.
641         (ORIGINAL_LD_FOR_MULTILIBS): Remove.
642         (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
643         De-precious CC so that the right flags are passed down to multilibs.
644         (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
645         (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
646         (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
647         * configure: Rebuilt.
648         * aclocal.m4: Likewise.
649         * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
650         * fficonfig.h.in: Likewise.
651
652 2004-03-11  Andreas Schwab  <schwab@suse.de>
653
654         * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
655         arguments from fp registers only for the first 8 parameter slots.
656         Don't convert a float parameter when passed in memory.
657
658 2004-03-09  Hans-Peter Nilsson  <hp@axis.com>
659
660         * configure: Regenerate for config/accross.m4 correction.
661
662 2004-02-25  Matt Kraai  <kraai@alumni.cmu.edu>
663
664         * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
665         ecif->cif->bytes to bytes.
666         (ffi_prep_cif_machdep): Add braces around nested if statement.
667
668 2004-02-09  Alan Modra  <amodra@bigpond.net.au>
669
670         * src/types.c (pointer): POWERPC64 has 8 byte pointers.
671
672         * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
673         (ffi_closure_helper_LINUX64): Fix typo.
674         * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
675         for powerpc64-*-*.
676         * testsuite/libffi.call/float.c: Likewise.
677         * testsuite/libffi.call/float2.c: Likewise.
678
679 2004-02-08  Alan Modra  <amodra@bigpond.net.au>
680
681         * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
682         long double function return and long double arg handling.
683         (ffi_closure_helper_LINUX64): Formatting.  Delete unused "ng" var.
684         Use "end_pfr" instead of "nf".  Correct long double handling.
685         Localise "temp".
686         * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
687         return value.
688         * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
689         space for long double return value.  Adjust stack frame and offsets.
690         Load f2 long double return.
691
692 2004-02-07  Alan Modra  <amodra@bigpond.net.au>
693
694         * src/types.c: Use 16 byte long double for POWERPC64.
695
696 2004-01-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
697
698         * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
699         when the structure return address is passed in %o0.
700         (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
701         (ffi_v9_layout_struct): Align the field following a nested structure
702         on a word boundary.  Use memmove instead of memcpy.
703         (ffi_call): Update call to ffi_V9_return_struct.
704         (ffi_prep_closure): Define 'ctx' only for V8.
705         (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
706         and ffi_closure_sparc_inner_v9.
707         (ffi_closure_sparc_inner_v8): Return long doubles by reference.
708         Always skip the structure return address.  For structures and long
709         doubles, copy the argument directly.
710         (ffi_closure_sparc_inner_v9): Skip the structure return address only
711         if required.  Shift the maximum floating-point slot accordingly.  For
712         big structures, copy the argument directly; otherwise, left-justify the
713         argument and call ffi_v9_layout_struct to lay out the structure on
714         the stack.
715         * src/sparc/v8.S: Undef STACKFRAME before defining it.
716         (ffi_closure_v8): Pass the structure return address.  Update call to
717         ffi_closure_sparc_inner_v8.  Short-circuit FFI_TYPE_INT handling.
718         Skip the 'unimp' insn when returning long doubles and structures.
719         * src/sparc/v9.S: Undef STACKFRAME before defining it.
720         (ffi_closure_v9): Increase the frame size by 2 words.  Short-circuit
721         FFI_TYPE_INT handling.  Load structures both in integers and
722         floating-point registers on return.
723         * README: Update status of the SPARC port.
724
725 2004-01-24  Andreas Tobler  <a.tobler@schweiz.ch>
726
727         * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
728         as of type ffi_arg.
729         * testsuite/libffi.call/struct3.c (main): Fix CHECK.
730
731 2004-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
732
733         * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
734         value as of type ffi_arg, not unsigned int.
735
736 2004-01-21  Michael Ritzert  <ritzert@t-online.de>
737
738         * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
739         of the LHS.
740
741 2004-01-12  Andreas Tobler  <a.tobler@schweiz.ch>
742
743         * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
744         Solaris.
745
746 2004-01-08  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
747
748         * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
749         to void *.
750
751 2003-12-10  Richard Henderson  <rth@redhat.com>
752
753         * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
754         size_t instead of int.
755
756 2003-12-04  Hosaka Yuji  <hos@tamanegi.org>
757
758         * testsuite/libffi.call/many_win32.c: Include <float.h>.
759         * testsuite/libffi.call/many_win32.c (main): Replace variable
760         int i with unsigned long ul.
761
762         * testsuite/libffi.call/cls_align_uint64.c: New test case.
763         * testsuite/libffi.call/cls_align_sint64.c: Likewise.
764         * testsuite/libffi.call/cls_align_uint32.c: Likewise.
765         * testsuite/libffi.call/cls_align_sint32.c: Likewise.
766         * testsuite/libffi.call/cls_align_uint16.c: Likewise.
767         * testsuite/libffi.call/cls_align_sint16.c: Likewise.
768         * testsuite/libffi.call/cls_align_float.c: Likewise.
769         * testsuite/libffi.call/cls_align_double.c: Likewise.
770         * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
771         * testsuite/libffi.call/cls_align_pointer.c: Likewise.
772
773 2003-12-02  Hosaka Yuji  <hos@tamanegi.org>
774
775         PR other/13221
776         * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
777         Align arguments to 32 bits.
778
779 2003-12-01  Andreas Tobler  <a.tobler@schweiz.ch>
780
781         PR other/13221
782         * testsuite/libffi.call/cls_multi_sshort.c: New test case.
783         * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
784         * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
785         * testsuite/libffi.call/cls_multi_schar.c: Likewise.
786         * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
787         * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
788
789         * testsuite/libffi.special/unwindtest.cc: Cosmetics.
790
791 2003-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
792
793         * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
794         * testsuite/libffi.special/ffitestcxx.h: Likewise.
795
796 2003-11-22  Andreas Tobler  <a.tobler@schweiz.ch>
797
798         * Makefile.in: Rebuilt.
799         * configure: Likewise.
800         * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
801         the right type.
802
803 2003-11-21  Andreas Jaeger  <aj@suse.de>
804             Andreas Tobler  <a.tobler@schweiz.ch>
805
806         * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
807         * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
808         * Makefile.in: Rebuilt.
809         * aclocal.m4: Likewise.
810         * configure: Likewise.
811         * fficonfig.h.in: Likewise.
812         * testsuite/lib/libffi-dg.exp: Add include dir.
813         * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
814         * testsuite/libffi.special/ffitestcxx.h: Likewise.
815         * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
816         for ffi_closure if available.
817         * testsuite/libffi.call/closure_fn1.c: Likewise.
818         * testsuite/libffi.call/closure_fn2.c: Likewise.
819         * testsuite/libffi.call/closure_fn3.c: Likewise.
820         * testsuite/libffi.call/closure_fn4.c: Likewise.
821         * testsuite/libffi.call/closure_fn5.c: Likewise.
822         * testsuite/libffi.call/cls_12byte.c: Likewise.
823         * testsuite/libffi.call/cls_16byte.c: Likewise.
824         * testsuite/libffi.call/cls_18byte.c: Likewise.
825         * testsuite/libffi.call/cls_19byte.c: Likewise.
826         * testsuite/libffi.call/cls_1_1byte.c: Likewise.
827         * testsuite/libffi.call/cls_20byte.c: Likewise.
828         * testsuite/libffi.call/cls_20byte1.c: Likewise.
829         * testsuite/libffi.call/cls_24byte.c: Likewise.
830         * testsuite/libffi.call/cls_2byte.c: Likewise.
831         * testsuite/libffi.call/cls_3_1byte.c: Likewise.
832         * testsuite/libffi.call/cls_3byte1.c: Likewise.
833         * testsuite/libffi.call/cls_3byte2.c: Likewise.
834         * testsuite/libffi.call/cls_4_1byte.c: Likewise.
835         * testsuite/libffi.call/cls_4byte.c: Likewise.
836         * testsuite/libffi.call/cls_5byte.c: Likewise.
837         * testsuite/libffi.call/cls_64byte.c: Likewise.
838         * testsuite/libffi.call/cls_6byte.c: Likewise.
839         * testsuite/libffi.call/cls_7byte.c: Likewise.
840         * testsuite/libffi.call/cls_8byte.c: Likewise.
841         * testsuite/libffi.call/cls_9byte1.c: Likewise.
842         * testsuite/libffi.call/cls_9byte2.c: Likewise.
843         * testsuite/libffi.call/cls_double.c: Likewise.
844         * testsuite/libffi.call/cls_float.c: Likewise.
845         * testsuite/libffi.call/cls_schar.c: Likewise.
846         * testsuite/libffi.call/cls_sint.c: Likewise.
847         * testsuite/libffi.call/cls_sshort.c: Likewise.
848         * testsuite/libffi.call/cls_uchar.c: Likewise.
849         * testsuite/libffi.call/cls_uint.c: Likewise.
850         * testsuite/libffi.call/cls_ulonglong.c: Likewise.
851         * testsuite/libffi.call/cls_ushort.c: Likewise.
852         * testsuite/libffi.call/nested_struct.c: Likewise.
853         * testsuite/libffi.call/nested_struct1.c: Likewise.
854         * testsuite/libffi.call/nested_struct2.c: Likewise.
855         * testsuite/libffi.call/nested_struct3.c: Likewise.
856         * testsuite/libffi.call/problem1.c: Likewise.
857         * testsuite/libffi.special/unwindtest.cc: Likewise.
858
859 2003-11-20  Andreas Tobler  <a.tobler@schweiz.ch>
860
861         * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
862
863 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
864
865         * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
866         Add -lgcc_s to additional flags.
867
868 2003-11-12  Andreas Tobler  <a.tobler@schweiz.ch>
869
870         * configure.in, include/Makefile.am: PR libgcj/11147, install
871         the ffitarget.h header file in a gcc versioned and target
872         dependent place.
873         * configure: Regenerated.
874         * Makefile.in, include/Makefile.in: Likewise.
875         * testsuite/Makefile.in: Likewise.
876
877 2003-11-09  Andreas Tobler  <a.tobler@schweiz.ch>
878
879         * testsuite/libffi.call/closure_fn0.c: Print result and check
880         with dg-output to make debugging easier.
881         * testsuite/libffi.call/closure_fn1.c: Likewise.
882         * testsuite/libffi.call/closure_fn2.c: Likewise.
883         * testsuite/libffi.call/closure_fn3.c: Likewise.
884         * testsuite/libffi.call/closure_fn4.c: Likewise.
885         * testsuite/libffi.call/closure_fn5.c: Likewise.
886         * testsuite/libffi.call/cls_12byte.c: Likewise.
887         * testsuite/libffi.call/cls_16byte.c: Likewise.
888         * testsuite/libffi.call/cls_18byte.c: Likewise.
889         * testsuite/libffi.call/cls_19byte.c: Likewise.
890         * testsuite/libffi.call/cls_1_1byte.c: Likewise.
891         * testsuite/libffi.call/cls_20byte.c: Likewise.
892         * testsuite/libffi.call/cls_20byte1.c: Likewise.
893         * testsuite/libffi.call/cls_24byte.c: Likewise.
894         * testsuite/libffi.call/cls_2byte.c: Likewise.
895         * testsuite/libffi.call/cls_3_1byte.c: Likewise.
896         * testsuite/libffi.call/cls_3byte1.c: Likewise.
897         * testsuite/libffi.call/cls_3byte2.c: Likewise.
898         * testsuite/libffi.call/cls_4_1byte.c: Likewise.
899         * testsuite/libffi.call/cls_4byte.c: Likewise.
900         * testsuite/libffi.call/cls_5byte.c: Likewise.
901         * testsuite/libffi.call/cls_64byte.c: Likewise.
902         * testsuite/libffi.call/cls_6byte.c: Likewise.
903         * testsuite/libffi.call/cls_7byte.c: Likewise.
904         * testsuite/libffi.call/cls_8byte.c: Likewise.
905         * testsuite/libffi.call/cls_9byte1.c: Likewise.
906         * testsuite/libffi.call/cls_9byte2.c: Likewise.
907         * testsuite/libffi.call/cls_double.c: Likewise.
908         * testsuite/libffi.call/cls_float.c: Likewise.
909         * testsuite/libffi.call/cls_schar.c: Likewise.
910         * testsuite/libffi.call/cls_sint.c: Likewise.
911         * testsuite/libffi.call/cls_sshort.c: Likewise.
912         * testsuite/libffi.call/cls_uchar.c: Likewise.
913         * testsuite/libffi.call/cls_uint.c: Likewise.
914         * testsuite/libffi.call/cls_ulonglong.c: Likewise.
915         * testsuite/libffi.call/cls_ushort.c: Likewise.
916         * testsuite/libffi.call/problem1.c: Likewise.
917
918         * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
919         static.
920
921 2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
922
923         * testsuite/libffi.call/cls_9byte2.c: New test case.
924         * testsuite/libffi.call/cls_9byte1.c: Likewise.
925         * testsuite/libffi.call/cls_64byte.c: Likewise.
926         * testsuite/libffi.call/cls_20byte1.c: Likewise.
927         * testsuite/libffi.call/cls_19byte.c: Likewise.
928         * testsuite/libffi.call/cls_18byte.c: Likewise.
929         * testsuite/libffi.call/closure_fn4.c: Likewise.
930         * testsuite/libffi.call/closure_fn5.c: Likewise.
931         * testsuite/libffi.call/cls_schar.c: Likewise.
932         * testsuite/libffi.call/cls_sint.c: Likewise.
933         * testsuite/libffi.call/cls_sshort.c: Likewise.
934         * testsuite/libffi.call/nested_struct2.c: Likewise.
935         * testsuite/libffi.call/nested_struct3.c: Likewise.
936
937 2003-11-08  Andreas Tobler  <a.tobler@schweiz.ch>
938
939         * testsuite/libffi.call/cls_double.c: Do a check on the result.
940         * testsuite/libffi.call/cls_uchar.c: Likewise.
941         * testsuite/libffi.call/cls_uint.c: Likewise.
942         * testsuite/libffi.call/cls_ulonglong.c: Likewise.
943         * testsuite/libffi.call/cls_ushort.c: Likewise.
944         * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
945
946 2003-11-06  Andreas Tobler  <a.tobler@schweiz.ch>
947
948         * src/prep_cif.c (ffi_prep_cif): Move the validity check after
949         the initialization.
950
951 2003-10-23  Andreas Tobler  <a.tobler@schweiz.ch>
952
953         * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
954         FFI_ASSERT(FALSE) with FFI_ASSERT(0).
955
956 2003-10-22  David Daney  <ddaney@avtrex.com>
957
958         * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
959         __attribute__((__mode__(__SI__))) and friends.
960
961 2003-10-22  Andreas Schwab  <schwab@suse.de>
962
963         * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
964
965 2003-10-21  Andreas Tobler  <a.tobler@schweiz.ch>
966
967         * configure.in: AC_LINK_FILES(ffitarget.h).
968         * configure: Regenerate.
969         * Makefile.in: Likewise.
970         * include/Makefile.in: Likewise.
971         * testsuite/Makefile.in: Likewise.
972         * fficonfig.h.in: Likewise.
973
974 2003-10-21  Paolo Bonzini  <bonzini@gnu.org>
975             Richard Henderson  <rth@redhat.com>
976
977         Avoid that ffi.h includes fficonfig.h.
978
979         * Makefile.am (EXTRA_DIST): Include ffitarget.h files
980         (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
981         (TARGET_SRC_MIPS_SGI): Removed.
982         (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
983         (MIPS_SGI): Removed.
984         (CLEANFILES): Removed.
985         (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
986         targets.
987         * acconfig.h: Removed.
988         * configure.in: Compute sizeofs only for double and long double.
989         Use them to define and subst HAVE_LONG_DOUBLE.  Include comments
990         into AC_DEFINE instead of using acconfig.h.  Create
991         include/ffitarget.h instead of include/fficonfig.h.  Rename
992         MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
993         AC_DEFINE EH_FRAME_FLAGS.
994         * include/Makefile.am (DISTCLEANFILES): New automake macro.
995         (hack_DATA): Add ffitarget.h.
996         * include/ffi.h.in: Remove all system specific definitions.
997         Declare raw API even if it is not installed, why bother?
998         Use limits.h instead of SIZEOF_* to define ffi_type_*.  Do
999         not define EH_FRAME_FLAGS, it is in fficonfig.h now.  Include
1000         ffitarget.h instead of fficonfig.h.  Remove ALIGN macro.
1001         (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
1002         * include/ffi_common.h (bool): Do not define.
1003         (ffi_assert): Accept failed assertion.
1004         (ffi_type_test): Return void and accept file/line.
1005         (FFI_ASSERT): Pass stringized failed assertion.
1006         (FFI_ASSERT_AT): New macro.
1007         (FFI_ASSERT_VALID_TYPE): New macro.
1008         (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
1009         UINT64, SINT64): Define here with gcc's __attribute__ macro
1010         instead of in ffi.h
1011         (FLOAT32, ALIGN): Define here instead of in ffi.h
1012         * include/ffi-mips.h: Removed.  Its content moved to
1013         src/mips/ffitarget.h after separating assembly and C sections.
1014         * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
1015         src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
1016         src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
1017         src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
1018         SIZEOF_ARG -> FFI_SIZEOF_ARG.
1019         * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
1020         * src/debug.c (ffi_assert): Accept stringized failed assertion.
1021         (ffi_type_test): Rewritten.
1022         * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
1023         FFI_ASSERT_VALID_TYPE.
1024         * src/alpha/ffitarget.h, src/arm/ffitarget.h,
1025         src/ia64/ffitarget.h, src/m68k/ffitarget.h,
1026         src/mips/ffitarget.h, src/powerpc/ffitarget.h,
1027         src/s390/ffitarget.h, src/sh/ffitarget.h,
1028         src/sh64/ffitarget.h, src/sparc/ffitarget.h,
1029         src/x86/ffitarget.h: New files.
1030         * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
1031         src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
1032         src/powerpc/aix.S, src/powerpc/darwin.S,
1033         src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
1034         src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
1035         src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
1036         src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
1037         src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
1038         include fficonfig.h
1039
1040 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1041
1042         * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
1043         _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
1044
1045 2003-10-19  Andreas Tobler  <a.tobler@schweiz.ch>
1046
1047         * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
1048         Used when FFI_DEBUG = 1.
1049
1050 2003-10-14  Alan Modra  <amodra@bigpond.net.au>
1051
1052         * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
1053         and align.
1054
1055 2003-10-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1056
1057         * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
1058         FFI_MIPS_O32 for O32 ABI.
1059
1060 2003-10-01  Andreas Tobler  <a.tobler@schweiz.ch>
1061
1062         * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
1063         SPARC64. Cleanup whitespaces.
1064
1065 2003-09-19  Andreas Tobler  <a.tobler@schweiz.ch>
1066
1067         * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
1068         strongarm, xscale. Cleanup whitespaces.
1069         * testsuite/libffi.call/closure_fn1.c: Likewise.
1070         * testsuite/libffi.call/closure_fn2.c: Likewise.
1071         * testsuite/libffi.call/closure_fn3.c: Likewise.
1072         * testsuite/libffi.call/cls_12byte.c: Likewise.
1073         * testsuite/libffi.call/cls_16byte.c: Likewise.
1074         * testsuite/libffi.call/cls_1_1byte.c: Likewise.
1075         * testsuite/libffi.call/cls_20byte.c: Likewise.
1076         * testsuite/libffi.call/cls_24byte.c: Likewise.
1077         * testsuite/libffi.call/cls_2byte.c: Likewise.
1078         * testsuite/libffi.call/cls_3_1byte.c: Likewise.
1079         * testsuite/libffi.call/cls_3byte1.c: Likewise.
1080         * testsuite/libffi.call/cls_3byte2.c: Likewise.
1081         * testsuite/libffi.call/cls_4_1byte.c: Likewise.
1082         * testsuite/libffi.call/cls_4byte.c: Likewise.
1083         * testsuite/libffi.call/cls_5byte.c: Likewise.
1084         * testsuite/libffi.call/cls_6byte.c: Likewise.
1085         * testsuite/libffi.call/cls_7byte.c: Likewise.
1086         * testsuite/libffi.call/cls_8byte.c: Likewise.
1087         * testsuite/libffi.call/cls_double.c: Likewise.
1088         * testsuite/libffi.call/cls_float.c: Likewise.
1089         * testsuite/libffi.call/cls_uchar.c: Likewise.
1090         * testsuite/libffi.call/cls_uint.c: Likewise.
1091         * testsuite/libffi.call/cls_ulonglong.c: Likewise.
1092         * testsuite/libffi.call/cls_ushort.c: Likewise.
1093         * testsuite/libffi.call/nested_struct.c: Likewise.
1094         * testsuite/libffi.call/nested_struct1.c: Likewise.
1095         * testsuite/libffi.call/problem1.c: Likewise.
1096         * testsuite/libffi.special/unwindtest.cc: Likewise.
1097         * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
1098
1099 2003-09-18  David Edelsohn  <edelsohn@gnu.org>
1100
1101         * src/powerpc/aix.S: Cleanup whitespaces.
1102         * src/powerpc/aix_closure.S: Likewise.
1103
1104 2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
1105
1106         * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
1107         * src/powerpc/darwin_closure.S: Likewise.
1108         * src/powerpc/ffi_darwin.c: Likewise.
1109
1110 2003-09-18  Andreas Tobler  <a.tobler@schweiz.ch>
1111             David Edelsohn  <edelsohn@gnu.org>
1112
1113         * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
1114         * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
1115         parameter stack.
1116         * src/powerpc/darwin_closure.S: Likewise.
1117         * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
1118         according to the Darwin/AIX ABI.
1119         (ffi_prep_cif_machdep): Likewise.
1120         (ffi_closure_helper_DARWIN): Likewise.
1121         Remove the outgoing parameter stack logic. Simplify the evaluation
1122         of the different CASE types.
1123         (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
1124         statement in the trampoline code.
1125
1126 2003-09-18  Kaz Kojima  <kkojima@gcc.gnu.org>
1127
1128         * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
1129         for the register size.
1130         (ffi_closure_helper_SYSV): Handle the structure return value
1131         address correctly.
1132         (ffi_closure_helper_SYSV): Return the appropriate type when
1133         the registers are used for the structure return value.
1134         * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
1135         the 64-bit return value.  Update copyright years.
1136
1137 2003-09-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1138
1139         * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
1140         srcdir for ffi_mips.h.
1141
1142 2003-09-12  Alan Modra  <amodra@bigpond.net.au>
1143
1144         * src/prep_cif.c (initialize_aggregate): Include tail padding in
1145         structure size.
1146         * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
1147         placement of float result.
1148         * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
1149         cast of "resp" for big-endian 64 bit machines.
1150
1151 2003-09-11  Alan Modra  <amodra@bigpond.net.au>
1152
1153         * src/types.c (double, longdouble): Merge identical SH and ARM
1154         typedefs, and add POWERPC64.
1155         * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
1156         struct split over gpr and rest.
1157         (ffi_prep_cif_machdep): Correct intarg_count for structures.
1158         * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
1159
1160 2003-09-09  Andreas Tobler  <a.tobler@schweiz.ch>
1161
1162         * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
1163         passing correctly.
1164
1165 2003-09-09  Alan Modra  <amodra@bigpond.net.au>
1166
1167         * configure: Regenerate.
1168
1169 2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
1170
1171         * Makefile.am: Remove build rules for ffitest.
1172         * Makefile.in: Rebuilt.
1173
1174 2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
1175
1176         * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
1177         about implicit declaration of abort().
1178
1179 2003-09-04  Andreas Tobler  <a.tobler@schweiz.ch>
1180
1181         * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
1182         * Makefile.in: Rebuilt.
1183         * configure.in: Add dejagnu test framework.
1184         * configure: Rebuilt.
1185
1186         * testsuite/Makefile.am: New file.
1187         * testsuite/Makefile.in: Built
1188         * testsuite/lib/libffi-dg.exp: New file.
1189         * testsuite/config/default.exp: Likewise.
1190         * testsuite/libffi.call/call.exp: Likewise.
1191         * testsuite/libffi.call/ffitest.h: Likewise.
1192         * testsuite/libffi.call/closure_fn0.c: Likewise.
1193         * testsuite/libffi.call/closure_fn1.c: Likewise.
1194         * testsuite/libffi.call/closure_fn2.c: Likewise.
1195         * testsuite/libffi.call/closure_fn3.c: Likewise.
1196         * testsuite/libffi.call/cls_1_1byte.c: Likewise.
1197         * testsuite/libffi.call/cls_3_1byte.c: Likewise.
1198         * testsuite/libffi.call/cls_4_1byte.c: Likewise.
1199         * testsuite/libffi.call/cls_2byte.c: Likewise.
1200         * testsuite/libffi.call/cls_3byte1.c: Likewise.
1201         * testsuite/libffi.call/cls_3byte2.c: Likewise.
1202         * testsuite/libffi.call/cls_4byte.c: Likewise.
1203         * testsuite/libffi.call/cls_5byte.c: Likewise.
1204         * testsuite/libffi.call/cls_6byte.c: Likewise.
1205         * testsuite/libffi.call/cls_7byte.c: Likewise.
1206         * testsuite/libffi.call/cls_8byte.c: Likewise.
1207         * testsuite/libffi.call/cls_12byte.c: Likewise.
1208         * testsuite/libffi.call/cls_16byte.c: Likewise.
1209         * testsuite/libffi.call/cls_20byte.c: Likewise.
1210         * testsuite/libffi.call/cls_24byte.c: Likewise.
1211         * testsuite/libffi.call/cls_double.c: Likewise.
1212         * testsuite/libffi.call/cls_float.c: Likewise.
1213         * testsuite/libffi.call/cls_uchar.c: Likewise.
1214         * testsuite/libffi.call/cls_uint.c: Likewise.
1215         * testsuite/libffi.call/cls_ulonglong.c: Likewise.
1216         * testsuite/libffi.call/cls_ushort.c: Likewise.
1217         * testsuite/libffi.call/float.c: Likewise.
1218         * testsuite/libffi.call/float1.c: Likewise.
1219         * testsuite/libffi.call/float2.c: Likewise.
1220         * testsuite/libffi.call/many.c: Likewise.
1221         * testsuite/libffi.call/many_win32.c: Likewise.
1222         * testsuite/libffi.call/nested_struct.c: Likewise.
1223         * testsuite/libffi.call/nested_struct1.c: Likewise.
1224         * testsuite/libffi.call/pyobjc-tc.c: Likewise.
1225         * testsuite/libffi.call/problem1.c: Likewise.
1226         * testsuite/libffi.call/promotion.c: Likewise.
1227         * testsuite/libffi.call/return_ll.c: Likewise.
1228         * testsuite/libffi.call/return_sc.c: Likewise.
1229         * testsuite/libffi.call/return_uc.c: Likewise.
1230         * testsuite/libffi.call/strlen.c: Likewise.
1231         * testsuite/libffi.call/strlen_win32.c: Likewise.
1232         * testsuite/libffi.call/struct1.c: Likewise.
1233         * testsuite/libffi.call/struct2.c: Likewise.
1234         * testsuite/libffi.call/struct3.c: Likewise.
1235         * testsuite/libffi.call/struct4.c: Likewise.
1236         * testsuite/libffi.call/struct5.c: Likewise.
1237         * testsuite/libffi.call/struct6.c: Likewise.
1238         * testsuite/libffi.call/struct7.c: Likewise.
1239         * testsuite/libffi.call/struct8.c: Likewise.
1240         * testsuite/libffi.call/struct9.c: Likewise.
1241         * testsuite/libffi.special/special.exp: New file.
1242         * testsuite/libffi.special/ffitestcxx.h: Likewise.
1243         * testsuite/libffi.special/unwindtest.cc: Likewise.
1244
1245
1246 2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
1247
1248         * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case.  Update
1249         copyright years.
1250
1251 2003-08-02  Alan Modra  <amodra@bigpond.net.au>
1252
1253         * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
1254         structure passing.
1255         (ffi_closure_helper_LINUX64): Likewise.
1256         * src/powerpc/linux64.S: Remove code writing to parm save area.
1257         * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
1258         address in lr from ffi_closure_helper_LINUX64 call to calculate
1259         table address.  Optimize function tail.
1260
1261 2003-07-28  Andreas Tobler  <a.tobler@schweiz.ch>
1262
1263         * src/sparc/ffi.c: Handle all floating point registers.
1264         * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
1265
1266 2003-07-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1267
1268         * README: Note that libffi is not part of GCC.  Update the project
1269         URL and status.
1270
1271 2003-06-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1272
1273         * src/powerpc/ppc_closure.S: Include ffi.h.
1274
1275 2003-06-13  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1276
1277         * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
1278         Use C style comments.
1279
1280 2003-06-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1281
1282         * Makefile.am: Add SHmedia support.  Fix a typo of SH support.
1283         * Makefile.in: Regenerate.
1284         * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
1285         * configure: Regenerate.
1286         * include/ffi.h.in: Add SHmedia support.
1287         * src/sh64/ffi.c: New file.
1288         * src/sh64/sysv.S: New file.
1289
1290 2003-05-16  Jakub Jelinek  <jakub@redhat.com>
1291
1292         * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
1293         should be read-only.
1294         * configure: Rebuilt.
1295         * fficonfig.h.in: Rebuilt.
1296         * include/ffi.h.in (EH_FRAME_FLAGS): Define.
1297         * src/alpha/osf.S: Use EH_FRAME_FLAGS.
1298         * src/powerpc/linux64.S: Likewise.
1299         * src/powerpc/linux64_closure.S: Likewise.  Include ffi.h.
1300         * src/powerpc/sysv.S: Use EH_FRAME_FLAGS.  Use pcrel encoding
1301         if -fpic/-fPIC/-mrelocatable.
1302         * src/powerpc/powerpc_closure.S: Likewise.
1303         * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
1304         #write in .eh_frame flags.
1305         * src/sparc/v9.S: Likewise.
1306         * src/x86/unix64.S: Use EH_FRAME_FLAGS.
1307         * src/x86/sysv.S: Likewise.  Use pcrel encoding if -fpic/-fPIC.
1308         * src/s390/sysv.S: Use EH_FRAME_FLAGS.  Include ffi.h.
1309
1310 2003-05-07  Jeff Sturm  <jsturm@one-point.com>
1311
1312         Fixes PR bootstrap/10656
1313         * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
1314         support for .register pseudo-op.
1315         * src/sparc/v8.S: Use it.
1316         * fficonfig.h.in: Rebuilt.
1317         * configure: Rebuilt.
1318
1319 2003-04-18  Jakub Jelinek  <jakub@redhat.com>
1320
1321         * include/ffi.h.in (POWERPC64): Define if 64-bit.
1322         (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
1323         Make it the default on POWERPC64.
1324         (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
1325         * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
1326         * configure: Rebuilt.
1327         * src/powerpc/ffi.c (hidden): Define.
1328         (ffi_prep_args_SYSV): Renamed from
1329         ffi_prep_args.  Cast pointers to unsigned long to shut up warnings.
1330         (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
1331         ASM_NEEDS_REGISTERS64): New.
1332         (ffi_prep_args64): New function.
1333         (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
1334         (ffi_call): Likewise.
1335         (ffi_prep_closure): Likewise.
1336         (flush_icache): Surround by #ifndef POWERPC64.
1337         (ffi_dblfl): New union type.
1338         (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
1339         (ffi_closure_helper_LINUX64): New function.
1340         * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
1341         __powerpc64__.
1342         * src/powerpc/sysv.S: Likewise.
1343         (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
1344         * src/powerpc/linux64.S: New file.
1345         * src/powerpc/linux64_closure.S: New file.
1346         * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
1347         src/powerpc/linux64_closure.S.
1348         (TARGET_SRC_POWERPC): Likewise.
1349
1350         * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
1351         closure_test_fn3): Fix result printing on big-endian 64-bit
1352         machines.
1353         (main): Print tst2_arg instead of uninitialized tst2_result.
1354
1355         * src/ffitest.c (main): Hide what closure pointer really points to
1356         from the compiler.
1357
1358 2003-04-16  Richard Earnshaw  <rearnsha@arm.com>
1359
1360         * configure.in (arm-*-netbsdelf*): Add configuration.
1361         (configure): Regenerated.
1362
1363 2003-04-04  Loren J. Rittle  <ljrittle@acm.org>
1364
1365         * include/Makefile.in: Regenerate.
1366
1367 2003-03-21  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1368
1369         * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
1370         bit mode.
1371         * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
1372         Receive closure pointer through parameter, read args using
1373         __builtin_dwarf_cfa.
1374         (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
1375
1376 2003-03-12  Andreas Schwab  <schwab@suse.de>
1377
1378         * configure.in: Avoid trailing /. in toolexeclibdir.
1379         * configure: Rebuilt.
1380
1381 2003-03-03  Andreas Tobler <a.tobler@schweiz.ch>
1382
1383         * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
1384
1385 2003-02-06  Andreas Tobler <a.tobler@schweiz.ch>
1386
1387         * libffi/src/powerpc/darwin_closure.S:
1388         Fix alignement bug, allocate 8 bytes for the result.
1389         * libffi/src/powerpc/aix_closure.S:
1390         Likewise.
1391         * libffi/src/powerpc/ffi_darwin.c:
1392         Update stackframe description for aix/darwin_closure.S.
1393
1394 2003-02-06  Jakub Jelinek  <jakub@redhat.com>
1395
1396         * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
1397         attribute.
1398
1399 2003-01-31  Christian Cornelssen  <ccorn@cs.tu-berlin.de>,
1400             Andreas Schwab  <schwab@suse.de>
1401
1402         * configure.in: Adjust command to source config-ml.in to account
1403         for changes to the libffi_basedir definition.
1404         (libffi_basedir): Remove ${srcdir} from value and include trailing
1405         slash if nonempty.
1406
1407         * configure: Regenerate.
1408
1409 2003-01-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1410
1411         * src/powerpc/ppc_closure.S: Recode to fit shared libs.
1412
1413 2003-01-28  Andrew Haley  <aph@redhat.com>
1414
1415         * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
1416         * src/x86/ffi64.c (ffi_prep_closure): New.
1417         (ffi_closure_UNIX64_inner): New.
1418         * src/x86/unix64.S (ffi_closure_UNIX64): New.
1419
1420 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
1421
1422         * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
1423         Remove USE_LIBDIR conditional.
1424         * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
1425         * Makefile.in, configure: Rebuilt.
1426
1427 2003-01027  David Edelsohn  <edelsohn@gnu.org>
1428
1429         * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
1430         * Makefile.in: Regenerate.
1431
1432 2003-01-22  Andrew Haley  <aph@redhat.com>
1433
1434         * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
1435         unwind info.
1436
1437 2003-01-21  Andreas Tobler  <a.tobler@schweiz.ch>
1438
1439         * src/powerpc/darwin.S: Add unwind info.
1440         * src/powerpc/darwin_closure.S: Likewise.
1441
1442 2003-01-14  Andrew Haley  <aph@redhat.com>
1443
1444         * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
1445         (ffi_prep_cif_machdep): Likewise.
1446         * src/x86/unix64.S: Add unwind info.
1447
1448 2003-01-14  Andreas Jaeger  <aj@suse.de>
1449
1450         * src/ffitest.c (main): Only use ffi_closures if those are
1451         supported.
1452
1453 2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
1454
1455         * libffi/src/ffitest.c
1456          add closure testcases
1457
1458 2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
1459
1460         * libffi/src/powerpc/ffi.c
1461          fix alignment bug for float (4 byte aligned iso 8 byte)
1462
1463 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
1464
1465         * src/powerpc/ffi_darwin.c: Remove RCS version string.
1466         * src/powerpc/darwin.S: Remove RCS version string.
1467
1468 2003-01-03  Jeff Sturm  <jsturm@one-point.com>
1469
1470         * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
1471         * src/ffitest.c (main): Use static storage for closure.
1472         * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
1473         * src/sparc/v8.S (ffi_closure_v8): New.
1474         * src/sparc/v9.S (ffi_closure_v9): New.
1475
1476 2002-11-10  Ranjit Mathew <rmathew@hotmail.com>
1477
1478         * include/ffi.h.in: Added FFI_STDCALL ffi_type
1479           enumeration for X86_WIN32.
1480         * src/x86/win32.S: Added ffi_call_STDCALL function
1481           definition.
1482         * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
1483           switch cases for recognising FFI_STDCALL and
1484           calling ffi_call_STDCALL if target is X86_WIN32.
1485         * src/ffitest.c (my_stdcall_strlen/stdcall_many):
1486           stdcall versions of the "my_strlen" and "many"
1487           test functions (for X86_WIN32).
1488           Added test cases to test stdcall invocation using
1489           these functions.
1490
1491 2002-12-02  Kaz Kojima  <kkojima@gcc.gnu.org>
1492
1493         * src/sh/sysv.S: Add DWARF2 unwind info.
1494
1495 2002-11-27  Ulrich Weigand  <uweigand@de.ibm.com>
1496
1497         * src/s390/sysv.S (.eh_frame section): Make section read-only.
1498
1499 2002-11-26  Jim Wilson  <wilson@redhat.com>
1500
1501         * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
1502
1503 2002-11-23  H.J. Lu <hjl@gnu.org>
1504
1505         * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
1506         Include ../config/accross.m4.
1507         * aclocal.m4; Rebuild.
1508         * configure: Likewise.
1509
1510 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
1511
1512         * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
1513
1514 2002-11-11  DJ Delorie  <dj@redhat.com>
1515
1516         * configure.in: Look for common files in the right place.
1517
1518 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
1519
1520         * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
1521         raw data as _Jv_word values, not ffi_raw.
1522         (ffi_java_ptrarray_to_raw): Likewise.
1523         (ffi_java_rvalue_to_raw): New function.
1524         (ffi_java_raw_call): Call it.
1525         (ffi_java_raw_to_rvalue): New function.
1526         (ffi_java_translate_args): Call it.
1527         * src/ffitest.c (closure_test_fn): Interpret return value
1528         as ffi_arg, not int.
1529         * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
1530         FFI_TYPE_POINTER case.
1531         (ffi_closure_helper_SYSV): Likewise.  Also, assume return
1532         values extended to word size.
1533
1534 2002-10-02  Andreas Jaeger  <aj@suse.de>
1535
1536         * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
1537
1538 2002-10-01  Bo Thorsen  <bo@smetana.suse.de>
1539
1540         * include/ffi.h.in: Fix i386 win32 compilation.
1541
1542 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
1543
1544         * configure.in: Add s390x-*-linux-* target.
1545         * configure: Regenerate.
1546         * include/ffi.h.in: Define S390X for s390x targets.
1547         (FFI_CLOSURES): Define for s390/s390x.
1548         (FFI_TRAMPOLINE_SIZE): Likewise.
1549         (FFI_NATIVE_RAW_API): Likewise.
1550         * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
1551         * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
1552         * src/s390/ffi.c: Major rework of existing code.  Add support for
1553         s390x targets.  Add closure support.
1554         * src/s390/sysv.S: Likewise.
1555
1556 2002-09-29  Richard Earnshaw  <rearnsha@arm.com>
1557
1558         * src/arm/sysv.S: Fix typo.
1559
1560 2002-09-28  Richard Earnshaw  <rearnsha@arm.com>
1561
1562         * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
1563         has defined __USER_LABEL_PREFIX__, then use it in CNAME.
1564         (ffi_call_SYSV): Handle soft-float.
1565
1566 2002-09-27  Bo Thorsen  <bo@suse.de>
1567
1568         * include/ffi.h.in: Fix multilib x86-64 support.
1569
1570 2002-09-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1571
1572         * Makefile.am (all-multi): Fix multilib parallel build.
1573
1574 2002-07-19  Kaz Kojima  <kkojima@gcc.gnu.org>
1575
1576         * configure.in (sh[34]*-*-linux*): Add brackets.
1577         * configure: Regenerate.
1578
1579 2002-07-18  Kaz Kojima  <kkojima@gcc.gnu.org>
1580
1581         * Makefile.am: Add SH support.
1582         * Makefile.in: Regenerate.
1583         * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
1584         * configure: Regenerate.
1585         * include/ffi.h.in: Add SH support.
1586         * src/sh/ffi.c: New file.
1587         * src/sh/sysv.S: New file.
1588         * src/types.c: Add SH support.
1589
1590 2002-07-16  Bo Thorsen  <bo@suse.de>
1591
1592         * src/x86/ffi64.c: New file that adds x86-64 support.
1593         * src/x86/unix64.S: New file that handles argument setup for
1594         x86-64.
1595         * src/x86/sysv.S: Don't use this on x86-64.
1596         * src/x86/ffi.c: Don't use this on x86-64.
1597         Remove unused vars.
1598         * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
1599         for x86-64.
1600         * src/ffitest.c (struct6): New test that tests a special case in
1601         the x86-64 ABI.
1602         (struct7): Likewise.
1603         (struct8): Likewise.
1604         (struct9): Likewise.
1605         (closure_test_fn): Silence warning about this when it's not used.
1606         (main): Add the new tests.
1607         (main): Fix a couple of wrong casts and silence some compiler warnings.
1608         * include/ffi.h.in: Add x86-64 ABI definition.
1609         * fficonfig.h.in: Regenerate.
1610         * Makefile.am: Add x86-64 support.
1611         * configure.in: Likewise.
1612         * Makefile.in: Regenerate.
1613         * configure: Likewise.
1614
1615 2002-06-24  Bo Thorsen  <bo@suse.de>
1616
1617         * src/types.c: Merge settings for similar architectures.
1618         Add x86-64 sizes and alignments.
1619
1620 2002-06-23  Bo Thorsen  <bo@suse.de>
1621
1622         * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
1623         * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
1624         * src/mips/ffi.c (ffi_prep_args): Likewise.
1625         * src/m68k/ffi.c (ffi_prep_args): Likewise.
1626
1627 2002-07-18  H.J. Lu  (hjl@gnu.org)
1628
1629         * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
1630         (libffi_la_SOURCES): Support MIPS_LINUX.
1631         (libffi_convenience_la_SOURCES): Likewise.
1632         * Makefile.in: Regenerated.
1633
1634         * configure.in (mips64*-*): Skip.
1635         (mips*-*-linux*): New.
1636         * configure: Regenerated.
1637
1638         * src/mips/ffi.c: Include <sgidefs.h>.
1639
1640 2002-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
1641
1642         * src/s390/sysv.S: Save/restore %r6.  Add DWARF-2 unwind info.
1643
1644 2002-05-27  Roger Sayle  <roger@eyesopen.com>
1645
1646         * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
1647
1648 2002-05-27  Bo Thorsen  <bo@suse.de>
1649
1650         * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
1651         fix formatting.
1652
1653 2002-05-13  Andreas Tobler  <a.tobler@schweiz.ch>
1654
1655         * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
1656         beginning of function (for older apple cc).
1657
1658 2002-05-08  Alexandre Oliva  <aoliva@redhat.com>
1659
1660         * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
1661         script entry, and set LD to it when configuring multilibs.
1662         * configure: Rebuilt.
1663
1664 2002-05-05  Jason Thorpe  <thorpej@wasabisystems.com>
1665
1666         * configure.in (sparc64-*-netbsd*): Add target.
1667         (sparc-*-netbsdelf*): Likewise.
1668         * configure: Regenerate.
1669
1670 2002-04-28  David S. Miller  <davem@redhat.com>
1671
1672         * configure.in, configure: Fix SPARC test in previous change.
1673
1674 2002-04-29  Gerhard Tonn  <GerhardTonn@swol.de>
1675
1676         * Makefile.am: Add Linux for S/390 support.
1677         * Makefile.in: Regenerate.
1678         * configure.in: Add Linux for S/390 support.
1679         * configure: Regenerate.
1680         * include/ffi.h.in: Add Linux for S/390 support.
1681         * src/s390/ffi.c: New file from libffi CVS tree.
1682         * src/s390/sysv.S: New file from libffi CVS tree.
1683
1684 2002-04-28  Jakub Jelinek  <jakub@redhat.com>
1685
1686         * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
1687         %r_disp32().
1688         * src/sparc/v8.S: Use it.
1689         * src/sparc/v9.S: Likewise.
1690         * fficonfig.h.in: Rebuilt.
1691         * configure: Rebuilt.
1692
1693 2002-04-08  Hans Boehm  <Hans_Boehm@hp.com>
1694
1695         * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
1696         correctly.
1697         * src/ia64/unix.S: Add unwind information. Fix comments.
1698         Save sp in a way that's compatible with unwind info.
1699         (ffi_call_unix): Correctly restore sp in all cases.
1700         * src/ia64/ffi.c: Add, fix comments.
1701
1702 2002-04-08  Jakub Jelinek  <jakub@redhat.com>
1703
1704         * src/sparc/v8.S: Make .eh_frame dependent on target word size.
1705
1706 2002-04-06  Jason Thorpe  <thorpej@wasabisystems.com>
1707
1708         * configure.in (alpha*-*-netbsd*): Add target.
1709         * configure: Regenerate.
1710
1711 2002-04-04  Jeff Sturm  <jsturm@one-point.com>
1712
1713         * src/sparc/v8.S: Add unwind info.
1714         * src/sparc/v9.S: Likewise.
1715
1716 2002-03-30  Krister Walfridsson  <cato@df.lth.se>
1717
1718         * configure.in: Enable i*86-*-netbsdelf*.
1719         * configure: Rebuilt.
1720
1721 2002-03-29  David Billinghurst <David.Billinghurst@riotinto.com>
1722
1723         PR other/2620
1724         * src/mips/n32.s: Delete
1725         * src/mips/o32.s: Delete
1726
1727 2002-03-21  Loren J. Rittle  <ljrittle@acm.org>
1728
1729         * configure.in: Enable alpha*-*-freebsd*.
1730         * configure: Rebuilt.
1731
1732 2002-03-17  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1733
1734         * Makefile.am: libfficonvenience -> libffi_convenience.
1735         * Makefile.in: Rebuilt.
1736
1737         * Makefile.am: Define ffitest_OBJECTS.
1738         * Makefile.in: Rebuilt.
1739
1740 2002-03-07  Andreas Tobler  <toa@pop.agri.ch>
1741             David Edelsohn  <edelsohn@gnu.org>
1742
1743         * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
1744         (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
1745         (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
1746         * Makefile.in: Regenerate.
1747         * include/ffi.h.in: Add AIX and Darwin closure definitions.
1748         * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
1749         (flush_icache, flush_range): New functions.
1750         (ffi_closure_helper_DARWIN): New function.
1751         * src/powerpc/aix_closure.S: New file.
1752         * src/powerpc/darwin_closure.S: New file.
1753
1754 2002-02-24  Jeff Sturm  <jsturm@one-point.com>
1755
1756         * include/ffi.h.in: Add typedef for ffi_arg.
1757         * src/ffitest.c (main): Declare rint with ffi_arg.
1758
1759 2002-02-21  Andreas Tobler  <toa@pop.agri.ch>
1760
1761         * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
1762         number of GPRs for floating-point arguments.
1763
1764 2002-01-31  Anthony Green  <green@redhat.com>
1765
1766         * configure: Rebuilt.
1767         * configure.in: Replace CHECK_SIZEOF and endian tests with
1768         cross-compiler friendly macros.
1769         * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
1770         macros.
1771
1772 2002-01-18  David Edelsohn  <edelsohn@gnu.org>
1773
1774         * src/powerpc/darwin.S (_ffi_call_AIX): New.
1775         * src/powerpc/aix.S (ffi_call_DARWIN): New.
1776
1777 2002-01-17  David Edelsohn  <edelsohn@gnu.org>
1778
1779         * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
1780         (TARGET_SRC_POWERPC_AIX): New.
1781         (POWERPC_AIX): New stanza.
1782         * Makefile.in: Regenerate.
1783         * configure.in: Add AIX case.
1784         * configure: Regenerate.
1785         * include/ffi.h.in (ffi_abi): Add FFI_AIX.
1786         * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
1787         size.  Fix "long double" support.
1788         (ffi_call): Add FFI_AIX case.
1789         * src/powerpc/aix.S: New.
1790
1791 2001-10-09  John Hornkvist  <john@toastedmarshmallow.com>
1792
1793         Implement Darwin PowerPC ABI.
1794         * configure.in: Handle powerpc-*-darwin*.
1795         * Makefile.am: Set source files for POWERPC_DARWIN.
1796         * configure: Rebuilt.
1797         * Makefile.in: Rebuilt.
1798         * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
1799         POWERPC_DARWIN.
1800         * src/powerpc/darwin.S: New file.
1801         * src/powerpc/ffi_darwin.c: New file.
1802
1803 2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>
1804
1805         * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
1806
1807 2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1808
1809         * src/x86/sysv.S: Avoid gas-only .balign directive.
1810         Use C style comments.
1811
1812 2001-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1813
1814         * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
1815         Fixes PR bootstrap/3563.
1816
1817 2001-06-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1818
1819         * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
1820
1821 2001-06-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1822
1823         * configure.in: Recognize sparc*-sun-* host.
1824         * configure: Regenerate.
1825
1826 2001-06-06  Andrew Haley  <aph@redhat.com>
1827
1828         * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
1829
1830 2001-06-03  Andrew Haley  <aph@redhat.com>
1831
1832         * src/alpha/osf.S: Add unwind info.
1833         * src/powerpc/sysv.S: Add unwind info.
1834         * src/powerpc/ppc_closure.S: Likewise.
1835
1836 2000-05-31  Jeff Sturm  <jsturm@one-point.com>
1837
1838         * configure.in: Fix AC_ARG_ENABLE usage.
1839         * configure: Rebuilt.
1840
1841 2001-05-06  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>
1842
1843         * configure.in: Remove warning about beta code.
1844         * configure: Rebuilt.
1845
1846 2001-04-25  Hans Boehm <Hans_Boehm@hp.com>
1847
1848         * src/ia64/unix.S: Restore stack pointer when returning from
1849         ffi_closure_UNIX.
1850         * src/ia64/ffi.c: Fix typo in comment.
1851
1852 2001-04-18  Jim Wilson  <wilson@redhat.com>
1853
1854         * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
1855         to eliminate RAW DV.
1856
1857 2001-04-12  Bryce McKinlay  <bryce@albatross.co.nz>
1858
1859         * Makefile.am: Make a libtool convenience library.
1860         * Makefile.in: Rebuilt.
1861
1862 2001-03-29  Bryce McKinlay  <bryce@albatross.co.nz>
1863
1864         * configure.in: Use different syntax for subdirectory creation.
1865         * configure: Rebuilt.
1866
1867 2001-03-27  Jon Beniston  <jon@beniston.com>
1868
1869         * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
1870         * configure: Rebuilt.
1871         * Makefile.am: Added X86_WIN32 target support.
1872         * Makefile.in: Rebuilt.
1873
1874         * include/ffi.h.in: Added X86_WIN32 target support.
1875
1876         * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
1877         * src/types.c: Added X86_WIN32 target support.
1878
1879         * src/x86/win32.S: New file. Based on sysv.S, but with EH
1880         stuff removed and made to work with CygWin's gas.
1881
1882 2001-03-26  Bryce McKinlay  <bryce@albatross.co.nz>
1883
1884         * configure.in: Make target subdirectory in build dir.
1885         * Makefile.am: Override suffix based rules to specify correct output
1886         subdirectory.
1887         * Makefile.in: Rebuilt.
1888         * configure: Rebuilt.
1889
1890 2001-03-23  Kevin B Hendricks  <khendricks@ivey.uwo.ca>
1891
1892         * src/powerpc/ppc_closure.S: New file.
1893         * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
1894         involving long long and register pairs.
1895         (ffi_prep_closure): New function.
1896         (flush_icache): Likewise.
1897         (ffi_closure_helper_SYSV): Likewise.
1898         * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
1899         (FFI_TRAMPOLINE_SIZE): Likewise.
1900         (FFI_NATIVE_RAW_API): Likewise.
1901         * Makefile.in: Rebuilt.
1902         * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
1903         (TARGET_SRC_POWERPC): Likewise.
1904
1905 2001-03-19  Tom Tromey  <tromey@redhat.com>
1906
1907         * Makefile.in: Rebuilt.
1908         * Makefile.am (ffitest_LDFLAGS): New macro.
1909
1910 2001-03-02  Nick Clifton  <nickc@redhat.com>
1911
1912         * include/ffi.h.in: Remove RCS ident string.
1913         * include/ffi_mips.h: Remove RCS ident string.
1914         * src/debug.c: Remove RCS ident string.
1915         * src/ffitest.c: Remove RCS ident string.
1916         * src/prep_cif.c: Remove RCS ident string.
1917         * src/types.c: Remove RCS ident string.
1918         * src/alpha/ffi.c: Remove RCS ident string.
1919         * src/alpha/osf.S: Remove RCS ident string.
1920         * src/arm/ffi.c: Remove RCS ident string.
1921         * src/arm/sysv.S: Remove RCS ident string.
1922         * src/mips/ffi.c: Remove RCS ident string.
1923         * src/mips/n32.S: Remove RCS ident string.
1924         * src/mips/o32.S: Remove RCS ident string.
1925         * src/sparc/ffi.c: Remove RCS ident string.
1926         * src/sparc/v8.S: Remove RCS ident string.
1927         * src/sparc/v9.S: Remove RCS ident string.
1928         * src/x86/ffi.c: Remove RCS ident string.
1929         * src/x86/sysv.S: Remove RCS ident string.
1930
1931 2001-02-08  Joseph S. Myers  <jsm28@cam.ac.uk>
1932
1933         * include/ffi.h.in: Change sourceware.cygnus.com references to
1934         gcc.gnu.org.
1935
1936 2000-12-09  Richard Henderson  <rth@redhat.com>
1937
1938         * src/alpha/ffi.c (ffi_call): Simplify struct return test.
1939         (ffi_closure_osf_inner): Index rather than increment avalue
1940         and arg_types.  Give ffi_closure_osf the raw return value type.
1941         * src/alpha/osf.S (ffi_closure_osf): Handle return value type
1942         promotion.
1943
1944 2000-12-07  Richard Henderson  <rth@redhat.com>
1945
1946         * src/raw_api.c (ffi_translate_args): Fix typo.
1947         (ffi_prep_closure): Likewise.
1948
1949         * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
1950         FFI_TRAMPOLINE_SIZE.
1951         * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
1952         cif->bytes for new ffi_call_osf implementation.
1953         (ffi_prep_args): Absorb into ...
1954         (ffi_call): ... here.  Do all stack allocation here and
1955         avoid a callback function.
1956         (ffi_prep_closure, ffi_closure_osf_inner): New.
1957         * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
1958         (ffi_closure_osf): New.
1959
1960 2000-09-10  Alexandre Oliva  <aoliva@redhat.com>
1961
1962         * config.guess, config.sub, install-sh: Removed.
1963         * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
1964         * Makefile.in: Rebuilt.
1965
1966         * acinclude.m4: Include libtool macros from the top level.
1967         * aclocal.m4, configure: Rebuilt.
1968
1969 2000-08-22  Alexandre Oliva  <aoliva@redhat.com>
1970
1971         * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
1972         * configure: Rebuilt.
1973
1974 2000-05-11  Scott Bambrough  <scottb@netwinder.org>
1975
1976         * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
1977         memory correctly.  Use conditional instructions, not branches where
1978         possible.
1979
1980 2000-05-04  Tom Tromey  <tromey@cygnus.com>
1981
1982         * configure: Rebuilt.
1983         * configure.in: Match `arm*-*-linux-*'.
1984         From Chris Dornan <cdornan@arm.com>.
1985
1986 2000-04-28  Jakub Jelinek  <jakub@redhat.com>
1987
1988         * Makefile.am (SUBDIRS): Define.
1989         (AM_MAKEFLAGS): Likewise.
1990         (Multilib support.): Add section.
1991         * Makefile.in: Rebuilt.
1992         * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
1993         New variables. Set for gcc using -print-multi-lib. Export them
1994         to libtool.
1995         (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
1996         * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
1997         for -shared links.
1998         (extra_compiler_flags_value, extra_compiler_flags): Check these
1999         for extra compiler options which need to be passed down in
2000         compiler_flags.
2001
2002 2000-04-16  Anthony Green  <green@redhat.com>
2003
2004         * configure: Rebuilt.
2005         * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
2006
2007 2000-04-14  Jakub Jelinek  <jakub@redhat.com>
2008
2009         * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
2010         Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
2011         * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
2012         Replace all void * sizeofs with sizeof(int).
2013         Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
2014         different than DOUBLE.
2015         Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
2016         (ffi_prep_args_v9): New function.
2017         (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
2018         (ffi_V9_return_struct): New function.
2019         (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
2020         32bit code (not yet cross-arch calls).
2021         * src/sparc/v8.S: Add struct return delay nop.
2022         Handle long long.
2023         * src/sparc/v9.S: New file.
2024         * src/prep_cif.c (ffi_prep_cif): Return structure pointer
2025         is used on sparc64 only for structures larger than 32 bytes.
2026         Pass by reference for structures is done for structure arguments
2027         larger than 16 bytes.
2028         * src/ffitest.c (main): Use 64bit rint on sparc64.
2029         Run long long tests on sparc.
2030         * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
2031         sparc64.
2032         (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
2033         on sparc64.
2034         * configure.in (sparc-*-linux*): New supported target.
2035         (sparc64-*-linux*): Likewise.
2036         * configure: Rebuilt.
2037         * Makefile.am: Add v9.S to SPARC files.
2038         * Makefile.in: Likewise.
2039         (LINK): Surround $(CCLD) into double quotes, so that multilib
2040         compiles work correctly.
2041
2042 2000-04-04  Alexandre Petit-Bianco  <apbianco@cygnus.com>
2043
2044         * configure: Rebuilt.
2045         * configure.in: (i*86-*-solaris*): New libffi target. Patch
2046         proposed by Bryce McKinlay.
2047
2048 2000-03-20  Tom Tromey  <tromey@cygnus.com>
2049
2050         * Makefile.in: Hand edit for java_raw_api.lo.
2051
2052 2000-03-08  Bryce McKinlay  <bryce@albatross.co.nz>
2053
2054         * config.guess, config.sub: Update from the gcc tree.
2055         Fix for PR libgcj/168.
2056
2057 2000-03-03  Tom Tromey  <tromey@cygnus.com>
2058
2059         * Makefile.in: Fixed ia64 by hand.
2060
2061         * configure: Rebuilt.
2062         * configure.in (--enable-multilib): New option.
2063         (libffi_basedir): New subst.
2064         (AC_OUTPUT): Added multilib code.
2065
2066 2000-03-02  Tom Tromey  <tromey@cygnus.com>
2067
2068         * Makefile.in: Rebuilt.
2069         * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
2070         directory name.
2071
2072 2000-02-25  Hans Boehm <boehm@acm.org>
2073
2074         * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
2075         files.
2076         * src/raw_api.c (ffi_translate_args): Fixed typo in argument
2077         list.
2078         (ffi_prep_raw_closure): Use ffi_translate_args, not
2079         ffi_closure_translate.
2080         * src/java_raw_api.c: New file.
2081         * src/ffitest.c (closure_test_fn): New function.
2082         (main): Define `rint' as long long on IA64.  Added new test when
2083         FFI_CLOSURES is defined.
2084         * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
2085         (ffi_abi): Recognize IA64.
2086         (ffi_raw): Added `flt' field.
2087         Added "Java raw API" code.
2088         * configure.in: Recognize ia64.
2089         * Makefile.am (TARGET_SRC_IA64): New macro.
2090         (libffi_la_common_SOURCES): Added java_raw_api.c.
2091         (libffi_la_SOURCES): Define in IA64 case.
2092
2093 2000-01-04  Tom Tromey  <tromey@cygnus.com>
2094
2095         * Makefile.in: Rebuilt with newer automake.
2096
2097 1999-12-31  Tom Tromey  <tromey@cygnus.com>
2098
2099         * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
2100
2101 1999-09-01  Tom Tromey  <tromey@cygnus.com>
2102
2103         * include/ffi.h.in: Removed PACKAGE and VERSION defines and
2104         undefs.
2105         * fficonfig.h.in: Rebuilt.
2106         * configure: Rebuilt.
2107         * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
2108         Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
2109         * acconfig.h: Don't #undef PACKAGE or VERSION.
2110
2111 1999-08-09  Anthony Green  <green@cygnus.com>
2112
2113         * include/ffi.h.in: Try to work around messy header problem
2114         with PACKAGE and VERSION.
2115
2116         * configure: Rebuilt.
2117         * configure.in: Change version to 2.00-beta.
2118
2119         * fficonfig.h.in: Rebuilt.
2120         * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
2121
2122         * src/x86/ffi.c (ffi_raw_call): Rename.
2123
2124 1999-08-02  Kresten Krab Thorup  <krab@dominiq.is.s.u-tokyo.ac.jp>
2125
2126         * src/x86/ffi.c (ffi_closure_SYSV): New function.
2127         (ffi_prep_incoming_args_SYSV): Ditto.
2128         (ffi_prep_closure): Ditto.
2129         (ffi_closure_raw_SYSV): Ditto.
2130         (ffi_prep_raw_closure): More ditto.
2131         (ffi_call_raw): Final ditto.
2132
2133         * include/ffi.h.in: Add definitions for closure and raw API.
2134
2135         * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
2136         FFI_TYPE_UINT64.
2137
2138         * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
2139
2140         * src/raw_api.c: New file.
2141
2142         * include/ffi.h.in (ffi_raw): New type.
2143         (UINT_ARG, SINT_ARG): New defines.
2144         (ffi_closure, ffi_raw_closure): New types.
2145         (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
2146
2147         * configure.in: Add check for endianness and sizeof void*.
2148
2149         * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
2150         instead of directly.
2151
2152         * configure: Rebuilt.
2153
2154 Thu Jul  8 14:28:42 1999  Anthony Green  <green@cygnus.com>
2155
2156         * configure.in: Add x86 and powerpc BeOS configurations.
2157         From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
2158
2159 1999-05-09  Anthony Green  <green@cygnus.com>
2160
2161         * configure.in: Add warning about this being beta code.
2162         Remove src/Makefile.am from the picture.
2163         * configure: Rebuilt.
2164
2165         * Makefile.am: Move logic from src/Makefile.am.  Add changes
2166         to support libffi as a target library.
2167         * Makefile.in: Rebuilt.
2168
2169         * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
2170         Upgraded to new autoconf, automake, libtool.
2171
2172         * README: Tweaks.
2173
2174         * LICENSE: Update copyright date.
2175
2176         * src/Makefile.am, src/Makefile.in: Removed.
2177
2178 1998-11-29  Anthony Green  <green@cygnus.com>
2179
2180         * include/ChangeLog: Removed.
2181         * src/ChangeLog: Removed.
2182         * src/mips/ChangeLog: Removed.
2183         * src/sparc/ChangeLog: Remboved.
2184         * src/x86/ChangeLog: Removed.
2185
2186         * ChangeLog.v1: Created.