configure.ac: New name of configure.in.
[gcc.git] / libffi / ChangeLog
1 2005-06-15 Paolo Bonzini <bonzini@gnu.org>
2
3 * Makefile.am: Remove useless multilib rules.
4 * Makefile.in: Regenerate.
5 * aclocal.m4: Regenerate with automake 1.8.5.
6 * configure.ac: Remove useless multilib configury.
7 * configure: Regenerate.
8
9 2005-06-15 Paolo Bonzini <bonzini@gnu.org>
10
11 * .cvsignore: New file.
12
13 2004-06-10 Jakub Jelinek <jakub@redhat.com>
14
15 * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
16 fp_done.
17 (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
18 changed from 8.
19
20 2004-06-06 Sean McNeil <sean@mcneil.com>
21
22 * configure.ac: Add x86_64-*-freebsd* support.
23 * configure: Regenerate.
24
25 2004-04-26 Joe Buck <jbuck@welsh-buck.org>
26
27 Bug 15093
28 * configure.ac: Test for existence of mmap and sys/mman.h before
29 checking blacklist. Fix suggested by Jim Wilson.
30 * configure: Regenerate.
31
32 2004-04-26 Matt Austern <austern@apple.com>
33
34 * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
35 FDE location.
36 * src/powerpc/darwin_closure.S: Likewise.
37
38 2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
39
40 * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
41 error. Reported by Thomas Heller <theller@python.net>.
42 * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
43 * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
44
45 2004-03-20 Matthias Klose <doko@debian.org>
46
47 * src/pa/linux.S: Fix typo.
48
49 2004-03-19 Matthias Klose <doko@debian.org>
50
51 * Makefile.am: Update.
52 * Makefile.in: Regenerate.
53 * src/pa/ffi.h.in: Remove.
54 * src/pa/ffitarget.h: New file.
55
56 2004-02-10 Randolph Chung <tausq@debian.org>
57
58 * Makefile.am: Add PA support.
59 * Makefile.in: Regenerate.
60 * include/Makefile.in: Regenerate.
61 * configure.ac: Add PA target.
62 * configure: Regenerate.
63 * src/pa/ffi.c: New file.
64 * src/pa/ffi.h.in: Add PA support.
65 * src/pa/linux.S: New file.
66 * prep_cif.c: Add PA support.
67
68 2004-03-16 Hosaka Yuji <hos@tamanegi.org>
69
70 * src/types.c: Fix alignment size of X86_WIN32 case int64 and
71 double.
72 * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
73 with ecif->cif->flags.
74 (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
75 with cif->flags.
76 (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
77 (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
78 * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
79 sc_retstruct2b): Add for 1 or 2-bytes struct case.
80
81 2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
82
83 * configure.in: Rename file to ...
84 * configure.ac: ... this.
85 * fficonfig.h.in: Regenerate.
86 * Makefile.in: Regenerate.
87 * include/Makefile.in: Regenerate.
88 * testsuite/Makefile.in: Regenerate.
89
90 2004-03-12 Matt Austern <austern@apple.com>
91
92 * src/powerpc/darwin.S: Fix EH information so it corresponds to
93 changes in EH format resulting from addition of linkonce support.
94 * src/powerpc/darwin_closure.S: Likewise.
95
96 2004-03-11 Andreas Tobler <a.tobler@schweiz.ch>
97 Paolo Bonzini <bonzini@gnu.org>
98
99 * Makefile.am (AUTOMAKE_OPTIONS): Set them.
100 Remove VPATH. Remove rules for object files. Remove multilib support.
101 (AM_CCASFLAGS): Add.
102 * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
103 (AC_PREREQ): Bump version to 2.59.
104 (AC_INIT): Fill with version info and bug address.
105 (ORIGINAL_LD_FOR_MULTILIBS): Remove.
106 (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
107 De-precious CC so that the right flags are passed down to multilibs.
108 (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
109 (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
110 (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
111 * configure: Rebuilt.
112 * aclocal.m4: Likewise.
113 * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
114 * fficonfig.h.in: Likewise.
115
116 2004-03-11 Andreas Schwab <schwab@suse.de>
117
118 * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
119 arguments from fp registers only for the first 8 parameter slots.
120 Don't convert a float parameter when passed in memory.
121
122 2004-03-09 Hans-Peter Nilsson <hp@axis.com>
123
124 * configure: Regenerate for config/accross.m4 correction.
125
126 2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
127
128 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
129 ecif->cif->bytes to bytes.
130 (ffi_prep_cif_machdep): Add braces around nested if statement.
131
132 2004-02-09 Alan Modra <amodra@bigpond.net.au>
133
134 * src/types.c (pointer): POWERPC64 has 8 byte pointers.
135
136 * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
137 (ffi_closure_helper_LINUX64): Fix typo.
138 * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
139 for powerpc64-*-*.
140 * testsuite/libffi.call/float.c: Likewise.
141 * testsuite/libffi.call/float2.c: Likewise.
142
143 2004-02-08 Alan Modra <amodra@bigpond.net.au>
144
145 * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
146 long double function return and long double arg handling.
147 (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
148 Use "end_pfr" instead of "nf". Correct long double handling.
149 Localise "temp".
150 * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
151 return value.
152 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
153 space for long double return value. Adjust stack frame and offsets.
154 Load f2 long double return.
155
156 2004-02-07 Alan Modra <amodra@bigpond.net.au>
157
158 * src/types.c: Use 16 byte long double for POWERPC64.
159
160 2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
161
162 * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
163 when the structure return address is passed in %o0.
164 (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
165 (ffi_v9_layout_struct): Align the field following a nested structure
166 on a word boundary. Use memmove instead of memcpy.
167 (ffi_call): Update call to ffi_V9_return_struct.
168 (ffi_prep_closure): Define 'ctx' only for V8.
169 (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
170 and ffi_closure_sparc_inner_v9.
171 (ffi_closure_sparc_inner_v8): Return long doubles by reference.
172 Always skip the structure return address. For structures and long
173 doubles, copy the argument directly.
174 (ffi_closure_sparc_inner_v9): Skip the structure return address only
175 if required. Shift the maximum floating-point slot accordingly. For
176 big structures, copy the argument directly; otherwise, left-justify the
177 argument and call ffi_v9_layout_struct to lay out the structure on
178 the stack.
179 * src/sparc/v8.S: Undef STACKFRAME before defining it.
180 (ffi_closure_v8): Pass the structure return address. Update call to
181 ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
182 Skip the 'unimp' insn when returning long doubles and structures.
183 * src/sparc/v9.S: Undef STACKFRAME before defining it.
184 (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
185 FFI_TYPE_INT handling. Load structures both in integers and
186 floating-point registers on return.
187 * README: Update status of the SPARC port.
188
189 2004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
190
191 * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
192 as of type ffi_arg.
193 * testsuite/libffi.call/struct3.c (main): Fix CHECK.
194
195 2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
196
197 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
198 value as of type ffi_arg, not unsigned int.
199
200 2004-01-21 Michael Ritzert <ritzert@t-online.de>
201
202 * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
203 of the LHS.
204
205 2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
206
207 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
208 Solaris.
209
210 2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
211
212 * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
213 to void *.
214
215 2003-12-10 Richard Henderson <rth@redhat.com>
216
217 * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
218 size_t instead of int.
219
220 2003-12-04 Hosaka Yuji <hos@tamanegi.org>
221
222 * testsuite/libffi.call/many_win32.c: Include <float.h>.
223 * testsuite/libffi.call/many_win32.c (main): Replace variable
224 int i with unsigned long ul.
225
226 * testsuite/libffi.call/cls_align_uint64.c: New test case.
227 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
228 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
229 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
230 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
231 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
232 * testsuite/libffi.call/cls_align_float.c: Likewise.
233 * testsuite/libffi.call/cls_align_double.c: Likewise.
234 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
235 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
236
237 2003-12-02 Hosaka Yuji <hos@tamanegi.org>
238
239 PR other/13221
240 * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
241 Align arguments to 32 bits.
242
243 2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
244
245 PR other/13221
246 * testsuite/libffi.call/cls_multi_sshort.c: New test case.
247 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
248 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
249 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
250 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
251 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
252
253 * testsuite/libffi.special/unwindtest.cc: Cosmetics.
254
255 2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
256
257 * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
258 * testsuite/libffi.special/ffitestcxx.h: Likewise.
259
260 2003-11-22 Andreas Tobler <a.tobler@schweiz.ch>
261
262 * Makefile.in: Rebuilt.
263 * configure: Likewise.
264 * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
265 the right type.
266
267 2003-11-21 Andreas Jaeger <aj@suse.de>
268 Andreas Tobler <a.tobler@schweiz.ch>
269
270 * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
271 * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
272 * Makefile.in: Rebuilt.
273 * aclocal.m4: Likewise.
274 * configure: Likewise.
275 * fficonfig.h.in: Likewise.
276 * testsuite/lib/libffi-dg.exp: Add include dir.
277 * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
278 * testsuite/libffi.special/ffitestcxx.h: Likewise.
279 * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
280 for ffi_closure if available.
281 * testsuite/libffi.call/closure_fn1.c: Likewise.
282 * testsuite/libffi.call/closure_fn2.c: Likewise.
283 * testsuite/libffi.call/closure_fn3.c: Likewise.
284 * testsuite/libffi.call/closure_fn4.c: Likewise.
285 * testsuite/libffi.call/closure_fn5.c: Likewise.
286 * testsuite/libffi.call/cls_12byte.c: Likewise.
287 * testsuite/libffi.call/cls_16byte.c: Likewise.
288 * testsuite/libffi.call/cls_18byte.c: Likewise.
289 * testsuite/libffi.call/cls_19byte.c: Likewise.
290 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
291 * testsuite/libffi.call/cls_20byte.c: Likewise.
292 * testsuite/libffi.call/cls_20byte1.c: Likewise.
293 * testsuite/libffi.call/cls_24byte.c: Likewise.
294 * testsuite/libffi.call/cls_2byte.c: Likewise.
295 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
296 * testsuite/libffi.call/cls_3byte1.c: Likewise.
297 * testsuite/libffi.call/cls_3byte2.c: Likewise.
298 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
299 * testsuite/libffi.call/cls_4byte.c: Likewise.
300 * testsuite/libffi.call/cls_5byte.c: Likewise.
301 * testsuite/libffi.call/cls_64byte.c: Likewise.
302 * testsuite/libffi.call/cls_6byte.c: Likewise.
303 * testsuite/libffi.call/cls_7byte.c: Likewise.
304 * testsuite/libffi.call/cls_8byte.c: Likewise.
305 * testsuite/libffi.call/cls_9byte1.c: Likewise.
306 * testsuite/libffi.call/cls_9byte2.c: Likewise.
307 * testsuite/libffi.call/cls_double.c: Likewise.
308 * testsuite/libffi.call/cls_float.c: Likewise.
309 * testsuite/libffi.call/cls_schar.c: Likewise.
310 * testsuite/libffi.call/cls_sint.c: Likewise.
311 * testsuite/libffi.call/cls_sshort.c: Likewise.
312 * testsuite/libffi.call/cls_uchar.c: Likewise.
313 * testsuite/libffi.call/cls_uint.c: Likewise.
314 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
315 * testsuite/libffi.call/cls_ushort.c: Likewise.
316 * testsuite/libffi.call/nested_struct.c: Likewise.
317 * testsuite/libffi.call/nested_struct1.c: Likewise.
318 * testsuite/libffi.call/nested_struct2.c: Likewise.
319 * testsuite/libffi.call/nested_struct3.c: Likewise.
320 * testsuite/libffi.call/problem1.c: Likewise.
321 * testsuite/libffi.special/unwindtest.cc: Likewise.
322
323 2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
324
325 * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
326
327 2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
328
329 * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
330 Add -lgcc_s to additional flags.
331
332 2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
333
334 * configure.in, include/Makefile.am: PR libgcj/11147, install
335 the ffitarget.h header file in a gcc versioned and target
336 dependent place.
337 * configure: Regenerated.
338 * Makefile.in, include/Makefile.in: Likewise.
339 * testsuite/Makefile.in: Likewise.
340
341 2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
342
343 * testsuite/libffi.call/closure_fn0.c: Print result and check
344 with dg-output to make debugging easier.
345 * testsuite/libffi.call/closure_fn1.c: Likewise.
346 * testsuite/libffi.call/closure_fn2.c: Likewise.
347 * testsuite/libffi.call/closure_fn3.c: Likewise.
348 * testsuite/libffi.call/closure_fn4.c: Likewise.
349 * testsuite/libffi.call/closure_fn5.c: Likewise.
350 * testsuite/libffi.call/cls_12byte.c: Likewise.
351 * testsuite/libffi.call/cls_16byte.c: Likewise.
352 * testsuite/libffi.call/cls_18byte.c: Likewise.
353 * testsuite/libffi.call/cls_19byte.c: Likewise.
354 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
355 * testsuite/libffi.call/cls_20byte.c: Likewise.
356 * testsuite/libffi.call/cls_20byte1.c: Likewise.
357 * testsuite/libffi.call/cls_24byte.c: Likewise.
358 * testsuite/libffi.call/cls_2byte.c: Likewise.
359 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
360 * testsuite/libffi.call/cls_3byte1.c: Likewise.
361 * testsuite/libffi.call/cls_3byte2.c: Likewise.
362 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
363 * testsuite/libffi.call/cls_4byte.c: Likewise.
364 * testsuite/libffi.call/cls_5byte.c: Likewise.
365 * testsuite/libffi.call/cls_64byte.c: Likewise.
366 * testsuite/libffi.call/cls_6byte.c: Likewise.
367 * testsuite/libffi.call/cls_7byte.c: Likewise.
368 * testsuite/libffi.call/cls_8byte.c: Likewise.
369 * testsuite/libffi.call/cls_9byte1.c: Likewise.
370 * testsuite/libffi.call/cls_9byte2.c: Likewise.
371 * testsuite/libffi.call/cls_double.c: Likewise.
372 * testsuite/libffi.call/cls_float.c: Likewise.
373 * testsuite/libffi.call/cls_schar.c: Likewise.
374 * testsuite/libffi.call/cls_sint.c: Likewise.
375 * testsuite/libffi.call/cls_sshort.c: Likewise.
376 * testsuite/libffi.call/cls_uchar.c: Likewise.
377 * testsuite/libffi.call/cls_uint.c: Likewise.
378 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
379 * testsuite/libffi.call/cls_ushort.c: Likewise.
380 * testsuite/libffi.call/problem1.c: Likewise.
381
382 * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
383 static.
384
385 2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
386
387 * testsuite/libffi.call/cls_9byte2.c: New test case.
388 * testsuite/libffi.call/cls_9byte1.c: Likewise.
389 * testsuite/libffi.call/cls_64byte.c: Likewise.
390 * testsuite/libffi.call/cls_20byte1.c: Likewise.
391 * testsuite/libffi.call/cls_19byte.c: Likewise.
392 * testsuite/libffi.call/cls_18byte.c: Likewise.
393 * testsuite/libffi.call/closure_fn4.c: Likewise.
394 * testsuite/libffi.call/closure_fn5.c: Likewise.
395 * testsuite/libffi.call/cls_schar.c: Likewise.
396 * testsuite/libffi.call/cls_sint.c: Likewise.
397 * testsuite/libffi.call/cls_sshort.c: Likewise.
398 * testsuite/libffi.call/nested_struct2.c: Likewise.
399 * testsuite/libffi.call/nested_struct3.c: Likewise.
400
401 2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
402
403 * testsuite/libffi.call/cls_double.c: Do a check on the result.
404 * testsuite/libffi.call/cls_uchar.c: Likewise.
405 * testsuite/libffi.call/cls_uint.c: Likewise.
406 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
407 * testsuite/libffi.call/cls_ushort.c: Likewise.
408 * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
409
410 2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
411
412 * src/prep_cif.c (ffi_prep_cif): Move the validity check after
413 the initialization.
414
415 2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
416
417 * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
418 FFI_ASSERT(FALSE) with FFI_ASSERT(0).
419
420 2003-10-22 David Daney <ddaney@avtrex.com>
421
422 * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
423 __attribute__((__mode__(__SI__))) and friends.
424
425 2003-10-22 Andreas Schwab <schwab@suse.de>
426
427 * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
428
429 2003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
430
431 * configure.in: AC_LINK_FILES(ffitarget.h).
432 * configure: Regenerate.
433 * Makefile.in: Likewise.
434 * include/Makefile.in: Likewise.
435 * testsuite/Makefile.in: Likewise.
436 * fficonfig.h.in: Likewise.
437
438 2003-10-21 Paolo Bonzini <bonzini@gnu.org>
439 Richard Henderson <rth@redhat.com>
440
441 Avoid that ffi.h includes fficonfig.h.
442
443 * Makefile.am (EXTRA_DIST): Include ffitarget.h files
444 (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
445 (TARGET_SRC_MIPS_SGI): Removed.
446 (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
447 (MIPS_SGI): Removed.
448 (CLEANFILES): Removed.
449 (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
450 targets.
451 * acconfig.h: Removed.
452 * configure.in: Compute sizeofs only for double and long double.
453 Use them to define and subst HAVE_LONG_DOUBLE. Include comments
454 into AC_DEFINE instead of using acconfig.h. Create
455 include/ffitarget.h instead of include/fficonfig.h. Rename
456 MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
457 AC_DEFINE EH_FRAME_FLAGS.
458 * include/Makefile.am (DISTCLEANFILES): New automake macro.
459 (hack_DATA): Add ffitarget.h.
460 * include/ffi.h.in: Remove all system specific definitions.
461 Declare raw API even if it is not installed, why bother?
462 Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
463 not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
464 ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
465 (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
466 * include/ffi_common.h (bool): Do not define.
467 (ffi_assert): Accept failed assertion.
468 (ffi_type_test): Return void and accept file/line.
469 (FFI_ASSERT): Pass stringized failed assertion.
470 (FFI_ASSERT_AT): New macro.
471 (FFI_ASSERT_VALID_TYPE): New macro.
472 (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
473 UINT64, SINT64): Define here with gcc's __attribute__ macro
474 instead of in ffi.h
475 (FLOAT32, ALIGN): Define here instead of in ffi.h
476 * include/ffi-mips.h: Removed. Its content moved to
477 src/mips/ffitarget.h after separating assembly and C sections.
478 * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
479 src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
480 src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
481 src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
482 SIZEOF_ARG -> FFI_SIZEOF_ARG.
483 * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
484 * src/debug.c (ffi_assert): Accept stringized failed assertion.
485 (ffi_type_test): Rewritten.
486 * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
487 FFI_ASSERT_VALID_TYPE.
488 * src/alpha/ffitarget.h, src/arm/ffitarget.h,
489 src/ia64/ffitarget.h, src/m68k/ffitarget.h,
490 src/mips/ffitarget.h, src/powerpc/ffitarget.h,
491 src/s390/ffitarget.h, src/sh/ffitarget.h,
492 src/sh64/ffitarget.h, src/sparc/ffitarget.h,
493 src/x86/ffitarget.h: New files.
494 * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
495 src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
496 src/powerpc/aix.S, src/powerpc/darwin.S,
497 src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
498 src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
499 src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
500 src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
501 src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
502 include fficonfig.h
503
504 2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
505
506 * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
507 _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
508
509 2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
510
511 * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
512 Used when FFI_DEBUG = 1.
513
514 2003-10-14 Alan Modra <amodra@bigpond.net.au>
515
516 * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
517 and align.
518
519 2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
520
521 * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
522 FFI_MIPS_O32 for O32 ABI.
523
524 2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
525
526 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
527 SPARC64. Cleanup whitespaces.
528
529 2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
530
531 * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
532 strongarm, xscale. Cleanup whitespaces.
533 * testsuite/libffi.call/closure_fn1.c: Likewise.
534 * testsuite/libffi.call/closure_fn2.c: Likewise.
535 * testsuite/libffi.call/closure_fn3.c: Likewise.
536 * testsuite/libffi.call/cls_12byte.c: Likewise.
537 * testsuite/libffi.call/cls_16byte.c: Likewise.
538 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
539 * testsuite/libffi.call/cls_20byte.c: Likewise.
540 * testsuite/libffi.call/cls_24byte.c: Likewise.
541 * testsuite/libffi.call/cls_2byte.c: Likewise.
542 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
543 * testsuite/libffi.call/cls_3byte1.c: Likewise.
544 * testsuite/libffi.call/cls_3byte2.c: Likewise.
545 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
546 * testsuite/libffi.call/cls_4byte.c: Likewise.
547 * testsuite/libffi.call/cls_5byte.c: Likewise.
548 * testsuite/libffi.call/cls_6byte.c: Likewise.
549 * testsuite/libffi.call/cls_7byte.c: Likewise.
550 * testsuite/libffi.call/cls_8byte.c: Likewise.
551 * testsuite/libffi.call/cls_double.c: Likewise.
552 * testsuite/libffi.call/cls_float.c: Likewise.
553 * testsuite/libffi.call/cls_uchar.c: Likewise.
554 * testsuite/libffi.call/cls_uint.c: Likewise.
555 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
556 * testsuite/libffi.call/cls_ushort.c: Likewise.
557 * testsuite/libffi.call/nested_struct.c: Likewise.
558 * testsuite/libffi.call/nested_struct1.c: Likewise.
559 * testsuite/libffi.call/problem1.c: Likewise.
560 * testsuite/libffi.special/unwindtest.cc: Likewise.
561 * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
562
563 2003-09-18 David Edelsohn <edelsohn@gnu.org>
564
565 * src/powerpc/aix.S: Cleanup whitespaces.
566 * src/powerpc/aix_closure.S: Likewise.
567
568 2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
569
570 * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
571 * src/powerpc/darwin_closure.S: Likewise.
572 * src/powerpc/ffi_darwin.c: Likewise.
573
574 2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
575 David Edelsohn <edelsohn@gnu.org>
576
577 * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
578 * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
579 parameter stack.
580 * src/powerpc/darwin_closure.S: Likewise.
581 * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
582 according to the Darwin/AIX ABI.
583 (ffi_prep_cif_machdep): Likewise.
584 (ffi_closure_helper_DARWIN): Likewise.
585 Remove the outgoing parameter stack logic. Simplify the evaluation
586 of the different CASE types.
587 (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
588 statement in the trampoline code.
589
590 2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
591
592 * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
593 for the register size.
594 (ffi_closure_helper_SYSV): Handle the structure return value
595 address correctly.
596 (ffi_closure_helper_SYSV): Return the appropriate type when
597 the registers are used for the structure return value.
598 * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
599 the 64-bit return value. Update copyright years.
600
601 2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
602
603 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
604 srcdir for ffi_mips.h.
605
606 2003-09-12 Alan Modra <amodra@bigpond.net.au>
607
608 * src/prep_cif.c (initialize_aggregate): Include tail padding in
609 structure size.
610 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
611 placement of float result.
612 * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
613 cast of "resp" for big-endian 64 bit machines.
614
615 2003-09-11 Alan Modra <amodra@bigpond.net.au>
616
617 * src/types.c (double, longdouble): Merge identical SH and ARM
618 typedefs, and add POWERPC64.
619 * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
620 struct split over gpr and rest.
621 (ffi_prep_cif_machdep): Correct intarg_count for structures.
622 * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
623
624 2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
625
626 * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
627 passing correctly.
628
629 2003-09-09 Alan Modra <amodra@bigpond.net.au>
630
631 * configure: Regenerate.
632
633 2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
634
635 * Makefile.am: Remove build rules for ffitest.
636 * Makefile.in: Rebuilt.
637
638 2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
639
640 * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
641 about implicit declaration of abort().
642
643 2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
644
645 * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
646 * Makefile.in: Rebuilt.
647 * configure.in: Add dejagnu test framework.
648 * configure: Rebuilt.
649
650 * testsuite/Makefile.am: New file.
651 * testsuite/Makefile.in: Built
652 * testsuite/lib/libffi-dg.exp: New file.
653 * testsuite/config/default.exp: Likewise.
654 * testsuite/libffi.call/call.exp: Likewise.
655 * testsuite/libffi.call/ffitest.h: Likewise.
656 * testsuite/libffi.call/closure_fn0.c: Likewise.
657 * testsuite/libffi.call/closure_fn1.c: Likewise.
658 * testsuite/libffi.call/closure_fn2.c: Likewise.
659 * testsuite/libffi.call/closure_fn3.c: Likewise.
660 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
661 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
662 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
663 * testsuite/libffi.call/cls_2byte.c: Likewise.
664 * testsuite/libffi.call/cls_3byte1.c: Likewise.
665 * testsuite/libffi.call/cls_3byte2.c: Likewise.
666 * testsuite/libffi.call/cls_4byte.c: Likewise.
667 * testsuite/libffi.call/cls_5byte.c: Likewise.
668 * testsuite/libffi.call/cls_6byte.c: Likewise.
669 * testsuite/libffi.call/cls_7byte.c: Likewise.
670 * testsuite/libffi.call/cls_8byte.c: Likewise.
671 * testsuite/libffi.call/cls_12byte.c: Likewise.
672 * testsuite/libffi.call/cls_16byte.c: Likewise.
673 * testsuite/libffi.call/cls_20byte.c: Likewise.
674 * testsuite/libffi.call/cls_24byte.c: Likewise.
675 * testsuite/libffi.call/cls_double.c: Likewise.
676 * testsuite/libffi.call/cls_float.c: Likewise.
677 * testsuite/libffi.call/cls_uchar.c: Likewise.
678 * testsuite/libffi.call/cls_uint.c: Likewise.
679 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
680 * testsuite/libffi.call/cls_ushort.c: Likewise.
681 * testsuite/libffi.call/float.c: Likewise.
682 * testsuite/libffi.call/float1.c: Likewise.
683 * testsuite/libffi.call/float2.c: Likewise.
684 * testsuite/libffi.call/many.c: Likewise.
685 * testsuite/libffi.call/many_win32.c: Likewise.
686 * testsuite/libffi.call/nested_struct.c: Likewise.
687 * testsuite/libffi.call/nested_struct1.c: Likewise.
688 * testsuite/libffi.call/pyobjc-tc.c: Likewise.
689 * testsuite/libffi.call/problem1.c: Likewise.
690 * testsuite/libffi.call/promotion.c: Likewise.
691 * testsuite/libffi.call/return_ll.c: Likewise.
692 * testsuite/libffi.call/return_sc.c: Likewise.
693 * testsuite/libffi.call/return_uc.c: Likewise.
694 * testsuite/libffi.call/strlen.c: Likewise.
695 * testsuite/libffi.call/strlen_win32.c: Likewise.
696 * testsuite/libffi.call/struct1.c: Likewise.
697 * testsuite/libffi.call/struct2.c: Likewise.
698 * testsuite/libffi.call/struct3.c: Likewise.
699 * testsuite/libffi.call/struct4.c: Likewise.
700 * testsuite/libffi.call/struct5.c: Likewise.
701 * testsuite/libffi.call/struct6.c: Likewise.
702 * testsuite/libffi.call/struct7.c: Likewise.
703 * testsuite/libffi.call/struct8.c: Likewise.
704 * testsuite/libffi.call/struct9.c: Likewise.
705 * testsuite/libffi.special/special.exp: New file.
706 * testsuite/libffi.special/ffitestcxx.h: Likewise.
707 * testsuite/libffi.special/unwindtest.cc: Likewise.
708
709
710 2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
711
712 * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
713 copyright years.
714
715 2003-08-02 Alan Modra <amodra@bigpond.net.au>
716
717 * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
718 structure passing.
719 (ffi_closure_helper_LINUX64): Likewise.
720 * src/powerpc/linux64.S: Remove code writing to parm save area.
721 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
722 address in lr from ffi_closure_helper_LINUX64 call to calculate
723 table address. Optimize function tail.
724
725 2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
726
727 * src/sparc/ffi.c: Handle all floating point registers.
728 * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
729
730 2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
731
732 * README: Note that libffi is not part of GCC. Update the project
733 URL and status.
734
735 2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
736
737 * src/powerpc/ppc_closure.S: Include ffi.h.
738
739 2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
740
741 * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
742 Use C style comments.
743
744 2003-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
745
746 * Makefile.am: Add SHmedia support. Fix a typo of SH support.
747 * Makefile.in: Regenerate.
748 * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
749 * configure: Regenerate.
750 * include/ffi.h.in: Add SHmedia support.
751 * src/sh64/ffi.c: New file.
752 * src/sh64/sysv.S: New file.
753
754 2003-05-16 Jakub Jelinek <jakub@redhat.com>
755
756 * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
757 should be read-only.
758 * configure: Rebuilt.
759 * fficonfig.h.in: Rebuilt.
760 * include/ffi.h.in (EH_FRAME_FLAGS): Define.
761 * src/alpha/osf.S: Use EH_FRAME_FLAGS.
762 * src/powerpc/linux64.S: Likewise.
763 * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
764 * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
765 if -fpic/-fPIC/-mrelocatable.
766 * src/powerpc/powerpc_closure.S: Likewise.
767 * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
768 #write in .eh_frame flags.
769 * src/sparc/v9.S: Likewise.
770 * src/x86/unix64.S: Use EH_FRAME_FLAGS.
771 * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
772 * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
773
774 2003-05-07 Jeff Sturm <jsturm@one-point.com>
775
776 Fixes PR bootstrap/10656
777 * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
778 support for .register pseudo-op.
779 * src/sparc/v8.S: Use it.
780 * fficonfig.h.in: Rebuilt.
781 * configure: Rebuilt.
782
783 2003-04-18 Jakub Jelinek <jakub@redhat.com>
784
785 * include/ffi.h.in (POWERPC64): Define if 64-bit.
786 (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
787 Make it the default on POWERPC64.
788 (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
789 * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
790 * configure: Rebuilt.
791 * src/powerpc/ffi.c (hidden): Define.
792 (ffi_prep_args_SYSV): Renamed from
793 ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
794 (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
795 ASM_NEEDS_REGISTERS64): New.
796 (ffi_prep_args64): New function.
797 (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
798 (ffi_call): Likewise.
799 (ffi_prep_closure): Likewise.
800 (flush_icache): Surround by #ifndef POWERPC64.
801 (ffi_dblfl): New union type.
802 (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
803 (ffi_closure_helper_LINUX64): New function.
804 * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
805 __powerpc64__.
806 * src/powerpc/sysv.S: Likewise.
807 (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
808 * src/powerpc/linux64.S: New file.
809 * src/powerpc/linux64_closure.S: New file.
810 * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
811 src/powerpc/linux64_closure.S.
812 (TARGET_SRC_POWERPC): Likewise.
813
814 * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
815 closure_test_fn3): Fix result printing on big-endian 64-bit
816 machines.
817 (main): Print tst2_arg instead of uninitialized tst2_result.
818
819 * src/ffitest.c (main): Hide what closure pointer really points to
820 from the compiler.
821
822 2003-04-16 Richard Earnshaw <rearnsha@arm.com>
823
824 * configure.in (arm-*-netbsdelf*): Add configuration.
825 (configure): Regenerated.
826
827 2003-04-04 Loren J. Rittle <ljrittle@acm.org>
828
829 * include/Makefile.in: Regenerate.
830
831 2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
832
833 * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
834 bit mode.
835 * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
836 Receive closure pointer through parameter, read args using
837 __builtin_dwarf_cfa.
838 (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
839
840 2003-03-12 Andreas Schwab <schwab@suse.de>
841
842 * configure.in: Avoid trailing /. in toolexeclibdir.
843 * configure: Rebuilt.
844
845 2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
846
847 * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
848
849 2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
850
851 * libffi/src/powerpc/darwin_closure.S:
852 Fix alignement bug, allocate 8 bytes for the result.
853 * libffi/src/powerpc/aix_closure.S:
854 Likewise.
855 * libffi/src/powerpc/ffi_darwin.c:
856 Update stackframe description for aix/darwin_closure.S.
857
858 2003-02-06 Jakub Jelinek <jakub@redhat.com>
859
860 * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
861 attribute.
862
863 2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
864 Andreas Schwab <schwab@suse.de>
865
866 * configure.in: Adjust command to source config-ml.in to account
867 for changes to the libffi_basedir definition.
868 (libffi_basedir): Remove ${srcdir} from value and include trailing
869 slash if nonempty.
870
871 * configure: Regenerate.
872
873 2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
874
875 * src/powerpc/ppc_closure.S: Recode to fit shared libs.
876
877 2003-01-28 Andrew Haley <aph@redhat.com>
878
879 * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
880 * src/x86/ffi64.c (ffi_prep_closure): New.
881 (ffi_closure_UNIX64_inner): New.
882 * src/x86/unix64.S (ffi_closure_UNIX64): New.
883
884 2003-01-27 Alexandre Oliva <aoliva@redhat.com>
885
886 * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
887 Remove USE_LIBDIR conditional.
888 * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
889 * Makefile.in, configure: Rebuilt.
890
891 2003-01027 David Edelsohn <edelsohn@gnu.org>
892
893 * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
894 * Makefile.in: Regenerate.
895
896 2003-01-22 Andrew Haley <aph@redhat.com>
897
898 * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
899 unwind info.
900
901 2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
902
903 * src/powerpc/darwin.S: Add unwind info.
904 * src/powerpc/darwin_closure.S: Likewise.
905
906 2003-01-14 Andrew Haley <aph@redhat.com>
907
908 * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
909 (ffi_prep_cif_machdep): Likewise.
910 * src/x86/unix64.S: Add unwind info.
911
912 2003-01-14 Andreas Jaeger <aj@suse.de>
913
914 * src/ffitest.c (main): Only use ffi_closures if those are
915 supported.
916
917 2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
918
919 * libffi/src/ffitest.c
920 add closure testcases
921
922 2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
923
924 * libffi/src/powerpc/ffi.c
925 fix alignment bug for float (4 byte aligned iso 8 byte)
926
927 2003-01-09 Geoffrey Keating <geoffk@apple.com>
928
929 * src/powerpc/ffi_darwin.c: Remove RCS version string.
930 * src/powerpc/darwin.S: Remove RCS version string.
931
932 2003-01-03 Jeff Sturm <jsturm@one-point.com>
933
934 * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
935 * src/ffitest.c (main): Use static storage for closure.
936 * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
937 * src/sparc/v8.S (ffi_closure_v8): New.
938 * src/sparc/v9.S (ffi_closure_v9): New.
939
940 2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
941
942 * include/ffi.h.in: Added FFI_STDCALL ffi_type
943 enumeration for X86_WIN32.
944 * src/x86/win32.S: Added ffi_call_STDCALL function
945 definition.
946 * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
947 switch cases for recognising FFI_STDCALL and
948 calling ffi_call_STDCALL if target is X86_WIN32.
949 * src/ffitest.c (my_stdcall_strlen/stdcall_many):
950 stdcall versions of the "my_strlen" and "many"
951 test functions (for X86_WIN32).
952 Added test cases to test stdcall invocation using
953 these functions.
954
955 2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
956
957 * src/sh/sysv.S: Add DWARF2 unwind info.
958
959 2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
960
961 * src/s390/sysv.S (.eh_frame section): Make section read-only.
962
963 2002-11-26 Jim Wilson <wilson@redhat.com>
964
965 * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
966
967 2002-11-23 H.J. Lu <hjl@gnu.org>
968
969 * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
970 Include ../config/accross.m4.
971 * aclocal.m4; Rebuild.
972 * configure: Likewise.
973
974 2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
975
976 * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
977
978 2002-11-11 DJ Delorie <dj@redhat.com>
979
980 * configure.in: Look for common files in the right place.
981
982 2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
983
984 * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
985 raw data as _Jv_word values, not ffi_raw.
986 (ffi_java_ptrarray_to_raw): Likewise.
987 (ffi_java_rvalue_to_raw): New function.
988 (ffi_java_raw_call): Call it.
989 (ffi_java_raw_to_rvalue): New function.
990 (ffi_java_translate_args): Call it.
991 * src/ffitest.c (closure_test_fn): Interpret return value
992 as ffi_arg, not int.
993 * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
994 FFI_TYPE_POINTER case.
995 (ffi_closure_helper_SYSV): Likewise. Also, assume return
996 values extended to word size.
997
998 2002-10-02 Andreas Jaeger <aj@suse.de>
999
1000 * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
1001
1002 2002-10-01 Bo Thorsen <bo@smetana.suse.de>
1003
1004 * include/ffi.h.in: Fix i386 win32 compilation.
1005
1006 2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
1007
1008 * configure.in: Add s390x-*-linux-* target.
1009 * configure: Regenerate.
1010 * include/ffi.h.in: Define S390X for s390x targets.
1011 (FFI_CLOSURES): Define for s390/s390x.
1012 (FFI_TRAMPOLINE_SIZE): Likewise.
1013 (FFI_NATIVE_RAW_API): Likewise.
1014 * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
1015 * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
1016 * src/s390/ffi.c: Major rework of existing code. Add support for
1017 s390x targets. Add closure support.
1018 * src/s390/sysv.S: Likewise.
1019
1020 2002-09-29 Richard Earnshaw <rearnsha@arm.com>
1021
1022 * src/arm/sysv.S: Fix typo.
1023
1024 2002-09-28 Richard Earnshaw <rearnsha@arm.com>
1025
1026 * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
1027 has defined __USER_LABEL_PREFIX__, then use it in CNAME.
1028 (ffi_call_SYSV): Handle soft-float.
1029
1030 2002-09-27 Bo Thorsen <bo@suse.de>
1031
1032 * include/ffi.h.in: Fix multilib x86-64 support.
1033
1034 2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1035
1036 * Makefile.am (all-multi): Fix multilib parallel build.
1037
1038 2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
1039
1040 * configure.in (sh[34]*-*-linux*): Add brackets.
1041 * configure: Regenerate.
1042
1043 2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
1044
1045 * Makefile.am: Add SH support.
1046 * Makefile.in: Regenerate.
1047 * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
1048 * configure: Regenerate.
1049 * include/ffi.h.in: Add SH support.
1050 * src/sh/ffi.c: New file.
1051 * src/sh/sysv.S: New file.
1052 * src/types.c: Add SH support.
1053
1054 2002-07-16 Bo Thorsen <bo@suse.de>
1055
1056 * src/x86/ffi64.c: New file that adds x86-64 support.
1057 * src/x86/unix64.S: New file that handles argument setup for
1058 x86-64.
1059 * src/x86/sysv.S: Don't use this on x86-64.
1060 * src/x86/ffi.c: Don't use this on x86-64.
1061 Remove unused vars.
1062 * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
1063 for x86-64.
1064 * src/ffitest.c (struct6): New test that tests a special case in
1065 the x86-64 ABI.
1066 (struct7): Likewise.
1067 (struct8): Likewise.
1068 (struct9): Likewise.
1069 (closure_test_fn): Silence warning about this when it's not used.
1070 (main): Add the new tests.
1071 (main): Fix a couple of wrong casts and silence some compiler warnings.
1072 * include/ffi.h.in: Add x86-64 ABI definition.
1073 * fficonfig.h.in: Regenerate.
1074 * Makefile.am: Add x86-64 support.
1075 * configure.in: Likewise.
1076 * Makefile.in: Regenerate.
1077 * configure: Likewise.
1078
1079 2002-06-24 Bo Thorsen <bo@suse.de>
1080
1081 * src/types.c: Merge settings for similar architectures.
1082 Add x86-64 sizes and alignments.
1083
1084 2002-06-23 Bo Thorsen <bo@suse.de>
1085
1086 * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
1087 * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
1088 * src/mips/ffi.c (ffi_prep_args): Likewise.
1089 * src/m68k/ffi.c (ffi_prep_args): Likewise.
1090
1091 2002-07-18 H.J. Lu (hjl@gnu.org)
1092
1093 * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
1094 (libffi_la_SOURCES): Support MIPS_LINUX.
1095 (libffi_convenience_la_SOURCES): Likewise.
1096 * Makefile.in: Regenerated.
1097
1098 * configure.in (mips64*-*): Skip.
1099 (mips*-*-linux*): New.
1100 * configure: Regenerated.
1101
1102 * src/mips/ffi.c: Include <sgidefs.h>.
1103
1104 2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
1105
1106 * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
1107
1108 2002-05-27 Roger Sayle <roger@eyesopen.com>
1109
1110 * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
1111
1112 2002-05-27 Bo Thorsen <bo@suse.de>
1113
1114 * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
1115 fix formatting.
1116
1117 2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
1118
1119 * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
1120 beginning of function (for older apple cc).
1121
1122 2002-05-08 Alexandre Oliva <aoliva@redhat.com>
1123
1124 * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
1125 script entry, and set LD to it when configuring multilibs.
1126 * configure: Rebuilt.
1127
1128 2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
1129
1130 * configure.in (sparc64-*-netbsd*): Add target.
1131 (sparc-*-netbsdelf*): Likewise.
1132 * configure: Regenerate.
1133
1134 2002-04-28 David S. Miller <davem@redhat.com>
1135
1136 * configure.in, configure: Fix SPARC test in previous change.
1137
1138 2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
1139
1140 * Makefile.am: Add Linux for S/390 support.
1141 * Makefile.in: Regenerate.
1142 * configure.in: Add Linux for S/390 support.
1143 * configure: Regenerate.
1144 * include/ffi.h.in: Add Linux for S/390 support.
1145 * src/s390/ffi.c: New file from libffi CVS tree.
1146 * src/s390/sysv.S: New file from libffi CVS tree.
1147
1148 2002-04-28 Jakub Jelinek <jakub@redhat.com>
1149
1150 * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
1151 %r_disp32().
1152 * src/sparc/v8.S: Use it.
1153 * src/sparc/v9.S: Likewise.
1154 * fficonfig.h.in: Rebuilt.
1155 * configure: Rebuilt.
1156
1157 2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
1158
1159 * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
1160 correctly.
1161 * src/ia64/unix.S: Add unwind information. Fix comments.
1162 Save sp in a way that's compatible with unwind info.
1163 (ffi_call_unix): Correctly restore sp in all cases.
1164 * src/ia64/ffi.c: Add, fix comments.
1165
1166 2002-04-08 Jakub Jelinek <jakub@redhat.com>
1167
1168 * src/sparc/v8.S: Make .eh_frame dependent on target word size.
1169
1170 2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
1171
1172 * configure.in (alpha*-*-netbsd*): Add target.
1173 * configure: Regenerate.
1174
1175 2002-04-04 Jeff Sturm <jsturm@one-point.com>
1176
1177 * src/sparc/v8.S: Add unwind info.
1178 * src/sparc/v9.S: Likewise.
1179
1180 2002-03-30 Krister Walfridsson <cato@df.lth.se>
1181
1182 * configure.in: Enable i*86-*-netbsdelf*.
1183 * configure: Rebuilt.
1184
1185 2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
1186
1187 PR other/2620
1188 * src/mips/n32.s: Delete
1189 * src/mips/o32.s: Delete
1190
1191 2002-03-21 Loren J. Rittle <ljrittle@acm.org>
1192
1193 * configure.in: Enable alpha*-*-freebsd*.
1194 * configure: Rebuilt.
1195
1196 2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1197
1198 * Makefile.am: libfficonvenience -> libffi_convenience.
1199 * Makefile.in: Rebuilt.
1200
1201 * Makefile.am: Define ffitest_OBJECTS.
1202 * Makefile.in: Rebuilt.
1203
1204 2002-03-07 Andreas Tobler <toa@pop.agri.ch>
1205 David Edelsohn <edelsohn@gnu.org>
1206
1207 * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
1208 (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
1209 (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
1210 * Makefile.in: Regenerate.
1211 * include/ffi.h.in: Add AIX and Darwin closure definitions.
1212 * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
1213 (flush_icache, flush_range): New functions.
1214 (ffi_closure_helper_DARWIN): New function.
1215 * src/powerpc/aix_closure.S: New file.
1216 * src/powerpc/darwin_closure.S: New file.
1217
1218 2002-02-24 Jeff Sturm <jsturm@one-point.com>
1219
1220 * include/ffi.h.in: Add typedef for ffi_arg.
1221 * src/ffitest.c (main): Declare rint with ffi_arg.
1222
1223 2002-02-21 Andreas Tobler <toa@pop.agri.ch>
1224
1225 * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
1226 number of GPRs for floating-point arguments.
1227
1228 2002-01-31 Anthony Green <green@redhat.com>
1229
1230 * configure: Rebuilt.
1231 * configure.in: Replace CHECK_SIZEOF and endian tests with
1232 cross-compiler friendly macros.
1233 * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
1234 macros.
1235
1236 2002-01-18 David Edelsohn <edelsohn@gnu.org>
1237
1238 * src/powerpc/darwin.S (_ffi_call_AIX): New.
1239 * src/powerpc/aix.S (ffi_call_DARWIN): New.
1240
1241 2002-01-17 David Edelsohn <edelsohn@gnu.org>
1242
1243 * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
1244 (TARGET_SRC_POWERPC_AIX): New.
1245 (POWERPC_AIX): New stanza.
1246 * Makefile.in: Regenerate.
1247 * configure.in: Add AIX case.
1248 * configure: Regenerate.
1249 * include/ffi.h.in (ffi_abi): Add FFI_AIX.
1250 * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
1251 size. Fix "long double" support.
1252 (ffi_call): Add FFI_AIX case.
1253 * src/powerpc/aix.S: New.
1254
1255 2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
1256
1257 Implement Darwin PowerPC ABI.
1258 * configure.in: Handle powerpc-*-darwin*.
1259 * Makefile.am: Set source files for POWERPC_DARWIN.
1260 * configure: Rebuilt.
1261 * Makefile.in: Rebuilt.
1262 * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
1263 POWERPC_DARWIN.
1264 * src/powerpc/darwin.S: New file.
1265 * src/powerpc/ffi_darwin.c: New file.
1266
1267 2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
1268
1269 * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
1270
1271 2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1272
1273 * src/x86/sysv.S: Avoid gas-only .balign directive.
1274 Use C style comments.
1275
1276 2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1277
1278 * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
1279 Fixes PR bootstrap/3563.
1280
1281 2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1282
1283 * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
1284
1285 2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1286
1287 * configure.in: Recognize sparc*-sun-* host.
1288 * configure: Regenerate.
1289
1290 2001-06-06 Andrew Haley <aph@redhat.com>
1291
1292 * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
1293
1294 2001-06-03 Andrew Haley <aph@redhat.com>
1295
1296 * src/alpha/osf.S: Add unwind info.
1297 * src/powerpc/sysv.S: Add unwind info.
1298 * src/powerpc/ppc_closure.S: Likewise.
1299
1300 2000-05-31 Jeff Sturm <jsturm@one-point.com>
1301
1302 * configure.in: Fix AC_ARG_ENABLE usage.
1303 * configure: Rebuilt.
1304
1305 2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1306
1307 * configure.in: Remove warning about beta code.
1308 * configure: Rebuilt.
1309
1310 2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
1311
1312 * src/ia64/unix.S: Restore stack pointer when returning from
1313 ffi_closure_UNIX.
1314 * src/ia64/ffi.c: Fix typo in comment.
1315
1316 2001-04-18 Jim Wilson <wilson@redhat.com>
1317
1318 * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
1319 to eliminate RAW DV.
1320
1321 2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
1322
1323 * Makefile.am: Make a libtool convenience library.
1324 * Makefile.in: Rebuilt.
1325
1326 2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
1327
1328 * configure.in: Use different syntax for subdirectory creation.
1329 * configure: Rebuilt.
1330
1331 2001-03-27 Jon Beniston <jon@beniston.com>
1332
1333 * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
1334 * configure: Rebuilt.
1335 * Makefile.am: Added X86_WIN32 target support.
1336 * Makefile.in: Rebuilt.
1337
1338 * include/ffi.h.in: Added X86_WIN32 target support.
1339
1340 * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
1341 * src/types.c: Added X86_WIN32 target support.
1342
1343 * src/x86/win32.S: New file. Based on sysv.S, but with EH
1344 stuff removed and made to work with CygWin's gas.
1345
1346 2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
1347
1348 * configure.in: Make target subdirectory in build dir.
1349 * Makefile.am: Override suffix based rules to specify correct output
1350 subdirectory.
1351 * Makefile.in: Rebuilt.
1352 * configure: Rebuilt.
1353
1354 2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
1355
1356 * src/powerpc/ppc_closure.S: New file.
1357 * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
1358 involving long long and register pairs.
1359 (ffi_prep_closure): New function.
1360 (flush_icache): Likewise.
1361 (ffi_closure_helper_SYSV): Likewise.
1362 * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
1363 (FFI_TRAMPOLINE_SIZE): Likewise.
1364 (FFI_NATIVE_RAW_API): Likewise.
1365 * Makefile.in: Rebuilt.
1366 * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
1367 (TARGET_SRC_POWERPC): Likewise.
1368
1369 2001-03-19 Tom Tromey <tromey@redhat.com>
1370
1371 * Makefile.in: Rebuilt.
1372 * Makefile.am (ffitest_LDFLAGS): New macro.
1373
1374 2001-03-02 Nick Clifton <nickc@redhat.com>
1375
1376 * include/ffi.h.in: Remove RCS ident string.
1377 * include/ffi_mips.h: Remove RCS ident string.
1378 * src/debug.c: Remove RCS ident string.
1379 * src/ffitest.c: Remove RCS ident string.
1380 * src/prep_cif.c: Remove RCS ident string.
1381 * src/types.c: Remove RCS ident string.
1382 * src/alpha/ffi.c: Remove RCS ident string.
1383 * src/alpha/osf.S: Remove RCS ident string.
1384 * src/arm/ffi.c: Remove RCS ident string.
1385 * src/arm/sysv.S: Remove RCS ident string.
1386 * src/mips/ffi.c: Remove RCS ident string.
1387 * src/mips/n32.S: Remove RCS ident string.
1388 * src/mips/o32.S: Remove RCS ident string.
1389 * src/sparc/ffi.c: Remove RCS ident string.
1390 * src/sparc/v8.S: Remove RCS ident string.
1391 * src/sparc/v9.S: Remove RCS ident string.
1392 * src/x86/ffi.c: Remove RCS ident string.
1393 * src/x86/sysv.S: Remove RCS ident string.
1394
1395 2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
1396
1397 * include/ffi.h.in: Change sourceware.cygnus.com references to
1398 gcc.gnu.org.
1399
1400 2000-12-09 Richard Henderson <rth@redhat.com>
1401
1402 * src/alpha/ffi.c (ffi_call): Simplify struct return test.
1403 (ffi_closure_osf_inner): Index rather than increment avalue
1404 and arg_types. Give ffi_closure_osf the raw return value type.
1405 * src/alpha/osf.S (ffi_closure_osf): Handle return value type
1406 promotion.
1407
1408 2000-12-07 Richard Henderson <rth@redhat.com>
1409
1410 * src/raw_api.c (ffi_translate_args): Fix typo.
1411 (ffi_prep_closure): Likewise.
1412
1413 * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
1414 FFI_TRAMPOLINE_SIZE.
1415 * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
1416 cif->bytes for new ffi_call_osf implementation.
1417 (ffi_prep_args): Absorb into ...
1418 (ffi_call): ... here. Do all stack allocation here and
1419 avoid a callback function.
1420 (ffi_prep_closure, ffi_closure_osf_inner): New.
1421 * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
1422 (ffi_closure_osf): New.
1423
1424 2000-09-10 Alexandre Oliva <aoliva@redhat.com>
1425
1426 * config.guess, config.sub, install-sh: Removed.
1427 * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
1428 * Makefile.in: Rebuilt.
1429
1430 * acinclude.m4: Include libtool macros from the top level.
1431 * aclocal.m4, configure: Rebuilt.
1432
1433 2000-08-22 Alexandre Oliva <aoliva@redhat.com>
1434
1435 * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
1436 * configure: Rebuilt.
1437
1438 2000-05-11 Scott Bambrough <scottb@netwinder.org>
1439
1440 * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
1441 memory correctly. Use conditional instructions, not branches where
1442 possible.
1443
1444 2000-05-04 Tom Tromey <tromey@cygnus.com>
1445
1446 * configure: Rebuilt.
1447 * configure.in: Match `arm*-*-linux-*'.
1448 From Chris Dornan <cdornan@arm.com>.
1449
1450 2000-04-28 Jakub Jelinek <jakub@redhat.com>
1451
1452 * Makefile.am (SUBDIRS): Define.
1453 (AM_MAKEFLAGS): Likewise.
1454 (Multilib support.): Add section.
1455 * Makefile.in: Rebuilt.
1456 * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
1457 New variables. Set for gcc using -print-multi-lib. Export them
1458 to libtool.
1459 (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
1460 * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
1461 for -shared links.
1462 (extra_compiler_flags_value, extra_compiler_flags): Check these
1463 for extra compiler options which need to be passed down in
1464 compiler_flags.
1465
1466 2000-04-16 Anthony Green <green@redhat.com>
1467
1468 * configure: Rebuilt.
1469 * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
1470
1471 2000-04-14 Jakub Jelinek <jakub@redhat.com>
1472
1473 * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
1474 Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
1475 * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
1476 Replace all void * sizeofs with sizeof(int).
1477 Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
1478 different than DOUBLE.
1479 Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
1480 (ffi_prep_args_v9): New function.
1481 (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
1482 (ffi_V9_return_struct): New function.
1483 (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
1484 32bit code (not yet cross-arch calls).
1485 * src/sparc/v8.S: Add struct return delay nop.
1486 Handle long long.
1487 * src/sparc/v9.S: New file.
1488 * src/prep_cif.c (ffi_prep_cif): Return structure pointer
1489 is used on sparc64 only for structures larger than 32 bytes.
1490 Pass by reference for structures is done for structure arguments
1491 larger than 16 bytes.
1492 * src/ffitest.c (main): Use 64bit rint on sparc64.
1493 Run long long tests on sparc.
1494 * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
1495 sparc64.
1496 (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
1497 on sparc64.
1498 * configure.in (sparc-*-linux*): New supported target.
1499 (sparc64-*-linux*): Likewise.
1500 * configure: Rebuilt.
1501 * Makefile.am: Add v9.S to SPARC files.
1502 * Makefile.in: Likewise.
1503 (LINK): Surround $(CCLD) into double quotes, so that multilib
1504 compiles work correctly.
1505
1506 2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
1507
1508 * configure: Rebuilt.
1509 * configure.in: (i*86-*-solaris*): New libffi target. Patch
1510 proposed by Bryce McKinlay.
1511
1512 2000-03-20 Tom Tromey <tromey@cygnus.com>
1513
1514 * Makefile.in: Hand edit for java_raw_api.lo.
1515
1516 2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
1517
1518 * config.guess, config.sub: Update from the gcc tree.
1519 Fix for PR libgcj/168.
1520
1521 2000-03-03 Tom Tromey <tromey@cygnus.com>
1522
1523 * Makefile.in: Fixed ia64 by hand.
1524
1525 * configure: Rebuilt.
1526 * configure.in (--enable-multilib): New option.
1527 (libffi_basedir): New subst.
1528 (AC_OUTPUT): Added multilib code.
1529
1530 2000-03-02 Tom Tromey <tromey@cygnus.com>
1531
1532 * Makefile.in: Rebuilt.
1533 * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
1534 directory name.
1535
1536 2000-02-25 Hans Boehm <boehm@acm.org>
1537
1538 * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
1539 files.
1540 * src/raw_api.c (ffi_translate_args): Fixed typo in argument
1541 list.
1542 (ffi_prep_raw_closure): Use ffi_translate_args, not
1543 ffi_closure_translate.
1544 * src/java_raw_api.c: New file.
1545 * src/ffitest.c (closure_test_fn): New function.
1546 (main): Define `rint' as long long on IA64. Added new test when
1547 FFI_CLOSURES is defined.
1548 * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
1549 (ffi_abi): Recognize IA64.
1550 (ffi_raw): Added `flt' field.
1551 Added "Java raw API" code.
1552 * configure.in: Recognize ia64.
1553 * Makefile.am (TARGET_SRC_IA64): New macro.
1554 (libffi_la_common_SOURCES): Added java_raw_api.c.
1555 (libffi_la_SOURCES): Define in IA64 case.
1556
1557 2000-01-04 Tom Tromey <tromey@cygnus.com>
1558
1559 * Makefile.in: Rebuilt with newer automake.
1560
1561 1999-12-31 Tom Tromey <tromey@cygnus.com>
1562
1563 * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
1564
1565 1999-09-01 Tom Tromey <tromey@cygnus.com>
1566
1567 * include/ffi.h.in: Removed PACKAGE and VERSION defines and
1568 undefs.
1569 * fficonfig.h.in: Rebuilt.
1570 * configure: Rebuilt.
1571 * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
1572 Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
1573 * acconfig.h: Don't #undef PACKAGE or VERSION.
1574
1575 1999-08-09 Anthony Green <green@cygnus.com>
1576
1577 * include/ffi.h.in: Try to work around messy header problem
1578 with PACKAGE and VERSION.
1579
1580 * configure: Rebuilt.
1581 * configure.in: Change version to 2.00-beta.
1582
1583 * fficonfig.h.in: Rebuilt.
1584 * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
1585
1586 * src/x86/ffi.c (ffi_raw_call): Rename.
1587
1588 1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
1589
1590 * src/x86/ffi.c (ffi_closure_SYSV): New function.
1591 (ffi_prep_incoming_args_SYSV): Ditto.
1592 (ffi_prep_closure): Ditto.
1593 (ffi_closure_raw_SYSV): Ditto.
1594 (ffi_prep_raw_closure): More ditto.
1595 (ffi_call_raw): Final ditto.
1596
1597 * include/ffi.h.in: Add definitions for closure and raw API.
1598
1599 * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
1600 FFI_TYPE_UINT64.
1601
1602 * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
1603
1604 * src/raw_api.c: New file.
1605
1606 * include/ffi.h.in (ffi_raw): New type.
1607 (UINT_ARG, SINT_ARG): New defines.
1608 (ffi_closure, ffi_raw_closure): New types.
1609 (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
1610
1611 * configure.in: Add check for endianness and sizeof void*.
1612
1613 * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
1614 instead of directly.
1615
1616 * configure: Rebuilt.
1617
1618 Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
1619
1620 * configure.in: Add x86 and powerpc BeOS configurations.
1621 From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
1622
1623 1999-05-09 Anthony Green <green@cygnus.com>
1624
1625 * configure.in: Add warning about this being beta code.
1626 Remove src/Makefile.am from the picture.
1627 * configure: Rebuilt.
1628
1629 * Makefile.am: Move logic from src/Makefile.am. Add changes
1630 to support libffi as a target library.
1631 * Makefile.in: Rebuilt.
1632
1633 * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
1634 Upgraded to new autoconf, automake, libtool.
1635
1636 * README: Tweaks.
1637
1638 * LICENSE: Update copyright date.
1639
1640 * src/Makefile.am, src/Makefile.in: Removed.
1641
1642 1998-11-29 Anthony Green <green@cygnus.com>
1643
1644 * include/ChangeLog: Removed.
1645 * src/ChangeLog: Removed.
1646 * src/mips/ChangeLog: Removed.
1647 * src/sparc/ChangeLog: Remboved.
1648 * src/x86/ChangeLog: Removed.
1649
1650 * ChangeLog.v1: Created.