]> git.ipfire.org Git - thirdparty/gcc.git/blame_incremental - libffi/ChangeLog
re PR preprocessor/15933 (Caching of include files breaks compilation)
[thirdparty/gcc.git] / libffi / ChangeLog
... / ...
CommitLineData
12004-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
72004-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
152004-06-15 Paolo Bonzini <bonzini@gnu.org>
16
17 * .cvsignore: New file.
18
192004-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
262004-06-06 Sean McNeil <sean@mcneil.com>
27
28 * configure.ac: Add x86_64-*-freebsd* support.
29 * configure: Regenerate.
30
312004-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
382004-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
442004-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
512004-03-20 Matthias Klose <doko@debian.org>
52
53 * src/pa/linux.S: Fix typo.
54
552004-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
622004-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
742004-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
872004-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
962004-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
1022004-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
1222004-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
1282004-03-09 Hans-Peter Nilsson <hp@axis.com>
129
130 * configure: Regenerate for config/accross.m4 correction.
131
1322004-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
1382004-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
1492004-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
1622004-02-07 Alan Modra <amodra@bigpond.net.au>
163
164 * src/types.c: Use 16 byte long double for POWERPC64.
165
1662004-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
1952004-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
2012004-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
2062004-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
2112004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
212
213 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
214 Solaris.
215
2162004-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
2212003-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
2262003-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
2432003-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
2492003-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
2612003-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
2662003-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
2732003-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
3292003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
330
331 * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
332
3332003-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
3382003-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
3472003-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
3912003-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
4072003-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
4162003-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
4212003-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
4262003-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
4312003-10-22 Andreas Schwab <schwab@suse.de>
432
433 * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
434
4352003-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
4442003-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
5102003-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
5152003-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
5202003-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
5252003-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
5302003-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
5352003-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
5692003-09-18 David Edelsohn <edelsohn@gnu.org>
570
571 * src/powerpc/aix.S: Cleanup whitespaces.
572 * src/powerpc/aix_closure.S: Likewise.
573
5742003-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
5802003-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
5962003-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
6072003-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
6122003-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
6212003-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
6302003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
631
632 * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
633 passing correctly.
634
6352003-09-09 Alan Modra <amodra@bigpond.net.au>
636
637 * configure: Regenerate.
638
6392003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
640
641 * Makefile.am: Remove build rules for ffitest.
642 * Makefile.in: Rebuilt.
643
6442003-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
6492003-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
7162003-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
7212003-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
7312003-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
7362003-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
7412003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
742
743 * src/powerpc/ppc_closure.S: Include ffi.h.
744
7452003-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
7502003-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
7602003-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
7802003-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
7892003-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
8282003-04-16 Richard Earnshaw <rearnsha@arm.com>
829
830 * configure.in (arm-*-netbsdelf*): Add configuration.
831 (configure): Regenerated.
832
8332003-04-04 Loren J. Rittle <ljrittle@acm.org>
834
835 * include/Makefile.in: Regenerate.
836
8372003-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
8462003-03-12 Andreas Schwab <schwab@suse.de>
847
848 * configure.in: Avoid trailing /. in toolexeclibdir.
849 * configure: Rebuilt.
850
8512003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
852
853 * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
854
8552003-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
8642003-02-06 Jakub Jelinek <jakub@redhat.com>
865
866 * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
867 attribute.
868
8692003-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
8792003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
880
881 * src/powerpc/ppc_closure.S: Recode to fit shared libs.
882
8832003-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
8902003-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
8972003-01027 David Edelsohn <edelsohn@gnu.org>
898
899 * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
900 * Makefile.in: Regenerate.
901
9022003-01-22 Andrew Haley <aph@redhat.com>
903
904 * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
905 unwind info.
906
9072003-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
9122003-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
9182003-01-14 Andreas Jaeger <aj@suse.de>
919
920 * src/ffitest.c (main): Only use ffi_closures if those are
921 supported.
922
9232003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
924
925 * libffi/src/ffitest.c
926 add closure testcases
927
9282003-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
9332003-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
9382003-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
9462002-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
9612002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
962
963 * src/sh/sysv.S: Add DWARF2 unwind info.
964
9652002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
966
967 * src/s390/sysv.S (.eh_frame section): Make section read-only.
968
9692002-11-26 Jim Wilson <wilson@redhat.com>
970
971 * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
972
9732002-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
9802002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
981
982 * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
983
9842002-11-11 DJ Delorie <dj@redhat.com>
985
986 * configure.in: Look for common files in the right place.
987
9882002-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
10042002-10-02 Andreas Jaeger <aj@suse.de>
1005
1006 * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
1007
10082002-10-01 Bo Thorsen <bo@smetana.suse.de>
1009
1010 * include/ffi.h.in: Fix i386 win32 compilation.
1011
10122002-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
10262002-09-29 Richard Earnshaw <rearnsha@arm.com>
1027
1028 * src/arm/sysv.S: Fix typo.
1029
10302002-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
10362002-09-27 Bo Thorsen <bo@suse.de>
1037
1038 * include/ffi.h.in: Fix multilib x86-64 support.
1039
10402002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1041
1042 * Makefile.am (all-multi): Fix multilib parallel build.
1043
10442002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
1045
1046 * configure.in (sh[34]*-*-linux*): Add brackets.
1047 * configure: Regenerate.
1048
10492002-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
10602002-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
10852002-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
10902002-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
10972002-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
11102002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
1111
1112 * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
1113
11142002-05-27 Roger Sayle <roger@eyesopen.com>
1115
1116 * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
1117
11182002-05-27 Bo Thorsen <bo@suse.de>
1119
1120 * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
1121 fix formatting.
1122
11232002-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
11282002-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
11342002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
1135
1136 * configure.in (sparc64-*-netbsd*): Add target.
1137 (sparc-*-netbsdelf*): Likewise.
1138 * configure: Regenerate.
1139
11402002-04-28 David S. Miller <davem@redhat.com>
1141
1142 * configure.in, configure: Fix SPARC test in previous change.
1143
11442002-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
11542002-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
11632002-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
11722002-04-08 Jakub Jelinek <jakub@redhat.com>
1173
1174 * src/sparc/v8.S: Make .eh_frame dependent on target word size.
1175
11762002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
1177
1178 * configure.in (alpha*-*-netbsd*): Add target.
1179 * configure: Regenerate.
1180
11812002-04-04 Jeff Sturm <jsturm@one-point.com>
1182
1183 * src/sparc/v8.S: Add unwind info.
1184 * src/sparc/v9.S: Likewise.
1185
11862002-03-30 Krister Walfridsson <cato@df.lth.se>
1187
1188 * configure.in: Enable i*86-*-netbsdelf*.
1189 * configure: Rebuilt.
1190
11912002-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
11972002-03-21 Loren J. Rittle <ljrittle@acm.org>
1198
1199 * configure.in: Enable alpha*-*-freebsd*.
1200 * configure: Rebuilt.
1201
12022002-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
12102002-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
12242002-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
12292002-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
12342002-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
12422002-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
12472002-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
12612001-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
12732001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
1274
1275 * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
1276
12772001-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
12822001-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
12872001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1288
1289 * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
1290
12912001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1292
1293 * configure.in: Recognize sparc*-sun-* host.
1294 * configure: Regenerate.
1295
12962001-06-06 Andrew Haley <aph@redhat.com>
1297
1298 * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
1299
13002001-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
13062000-05-31 Jeff Sturm <jsturm@one-point.com>
1307
1308 * configure.in: Fix AC_ARG_ENABLE usage.
1309 * configure: Rebuilt.
1310
13112001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1312
1313 * configure.in: Remove warning about beta code.
1314 * configure: Rebuilt.
1315
13162001-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
13222001-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
13272001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
1328
1329 * Makefile.am: Make a libtool convenience library.
1330 * Makefile.in: Rebuilt.
1331
13322001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
1333
1334 * configure.in: Use different syntax for subdirectory creation.
1335 * configure: Rebuilt.
1336
13372001-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
13522001-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
13602001-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
13752001-03-19 Tom Tromey <tromey@redhat.com>
1376
1377 * Makefile.in: Rebuilt.
1378 * Makefile.am (ffitest_LDFLAGS): New macro.
1379
13802001-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
14012001-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
14062000-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
14142000-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
14302000-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
14392000-08-22 Alexandre Oliva <aoliva@redhat.com>
1440
1441 * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
1442 * configure: Rebuilt.
1443
14442000-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
14502000-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
14562000-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
14722000-04-16 Anthony Green <green@redhat.com>
1473
1474 * configure: Rebuilt.
1475 * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
1476
14772000-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
15122000-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
15182000-03-20 Tom Tromey <tromey@cygnus.com>
1519
1520 * Makefile.in: Hand edit for java_raw_api.lo.
1521
15222000-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
15272000-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
15362000-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
15422000-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
15632000-01-04 Tom Tromey <tromey@cygnus.com>
1564
1565 * Makefile.in: Rebuilt with newer automake.
1566
15671999-12-31 Tom Tromey <tromey@cygnus.com>
1568
1569 * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
1570
15711999-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
15811999-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
15941999-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
1624Thu 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
16291999-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
16481998-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.