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