]> git.ipfire.org Git - thirdparty/gcc.git/blame - libffi/ChangeLog
* libtool.m4: Update AC_LIBTOOL_SYS_MAX_CMD_LEN bits from upstream.
[thirdparty/gcc.git] / libffi / ChangeLog
CommitLineData
b7292ee2 12005-03-30 Hans Boehm <Hans.Boehm@hp.com>
2
3 * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
4
3bdc9b0e 52005-03-30 Steve Ellcey <sje@cup.hp.com>
6
7 * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
8 (ffi_sarg) Ditto.
9 * src/ia64/unix.S (ffi_closure_unix): Extend gp
10 to 64 bits in ILP32 mode.
11 Load 64 bits even for short data.
12
7abd8367 132005-03-23 Mike Stump <mrs@apple.com>
14
15 * src/powerpc/darwin.S: Update for -m64 multilib.
16 * src/powerpc/darwin_closure.S: Likewise.
17
bbb07d35 182005-03-21 Zack Weinberg <zack@codesourcery.com>
19
20 * configure.ac: Do not invoke TL_AC_GCC_VERSION.
21 Do not set tool_include_dir.
22 * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
23 Regenerate.
24 * include/Makefile.am: Set gcc_version and toollibffidir.
25 * include/Makefile.in: Regenerate.
26
e6fd470b 272005-02-22 Andrew Haley <aph@redhat.com>
28
29 * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
30 odd-numbered register pairs for 64-bit integer types.
31
4f373876 322005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
33
34 PR libffi/20104
35 * testsuite/libffi.call/return_ll1.c: New test case.
36
c2cf854f 372005-02-11 Janis Johnson <janis187@us.ibm.com>
38
39 * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
40 * testsuite/libffi.call/float.c: Ditto.
41 * testsuite/libffi.call/float2.c: Ditto.
42 * testsuite/libffi.call/float3.c: Ditto.
43
9e71f2c8 442005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
45
46 * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
47
45e075b4 482005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
49
50 * testsuite/libffi.special/special.exp (cxx_options): Add
51 -shared-libgcc.
52
f587fca2 532004-12-31 Richard Henderson <rth@redhat.com>
54
55 * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
56 (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
57 offset parameters with a type parameter; deduce size and structure
58 alignment. Update all users.
59
717c502e 602004-12-31 Richard Henderson <rth@redhat.com>
61
62 * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
63 (FFI_TYPE_LONGDOUBLE): Fix for ia64.
bbb07d35 64 * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
717c502e 65 into ffi_prep_closure.
66 * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
67 from scratch.
68
4a60643d 692004-12-27 Richard Henderson <rth@redhat.com>
70
71 * src/x86/unix64.S: Fix typo in unwind info.
72
66d912b3 732004-12-25 Richard Henderson <rth@redhat.com>
74
75 * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
76 (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
77 (merge_classes): Check for it.
78 (SSE_CLASS_P): New.
79 (classify_argument): Pass byte_offset by value; perform all updates
80 inside struct case.
81 (examine_argument): Add classes argument; handle
82 X86_64_COMPLEX_X87_CLASS.
83 (ffi_prep_args): Merge into ...
84 (ffi_call): ... here. Share stack frame with ffi_call_unix64.
85 (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
86 (ffi_fill_return_value): Remove.
87 (ffi_prep_closure): Remove dead assert.
88 (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
89 Rewrite to use struct register_args instead of va_list. Create
90 flags for handling structure returns.
91 * src/x86/unix64.S: Remove dead strings.
92 (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
93 stack frame with ffi_call. Handle structure returns properly.
94 (float2sse, floatfloat2sse, double2sse): Remove.
95 (sse2float, sse2double, sse2floatfloat): Remove.
96 (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
97 to handle structure returns properly.
98
a8594486 992004-12-08 David Edelsohn <edelsohn@gnu.org>
100
101 * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
102 PICFLAG.
103 * Makefile.in: Regenerated.
104
14ac9144 1052004-12-02 Richard Sandiford <rsandifo@redhat.com>
106
107 * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
108 * configure, aclocal.m4, Makefile.in: Regenerate.
109 * include/Makefile.in, testsuite/Makefile.in: Regenerate.
110
d081dd29 1112004-11-29 Kelley Cook <kcook@gcc.gnu.org>
112
113 * configure: Regenerate for libtool change.
114
a234d196 1152004-11-25 Kelley Cook <kcook@gcc.gnu.org>
116
117 * configure: Regenerate for libtool reversion.
118
7f93fe7a 1192004-11-24 Kelley Cook <kcook@gcc.gnu.org>
120
121 * configure: Regenerate for libtool change.
122
c0e31427 1232004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
124
125 * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
126
1272004-11-23 Richard Sandiford <rsandifo@redhat.com>
128
129 * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
130 of jal. Use an absolute encoding for the frame information.
131
1322004-11-23 Kelley Cook <kcook@gcc.gnu.org>
133
134 * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
135 * acinclude.m4: Delete logic for sincludes.
136 * aclocal.m4, Makefile.in, configure: Regenerate.
137 * include/Makefile: Likewise.
138 * testsuite/Makefile: Likewise.
139
68fa8e89 1402004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
141
142 * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
143 on a 8-byte boundary.
144 * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
145
c11820d9 1462004-10-27 Richard Earnshaw <rearnsha@arm.com>
147
148 * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
149 long long values. Round stack allocation to a multiple of 8 bytes
150 for ATPCS compatibility.
151 * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
152 names. Handle returning long long types. Add Thumb and interworking
153 support. Improve soft-float code.
154
03b2b968 1552004-10-27 Richard Earnshaw <rearnsha@arm.com>
156
157 * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
158 (libffi_exit): New function.
159 (libffi_init): Build the testglue wrapper if needed.
160
9f234538 1612004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
162
163 PR other/18138
164 * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
165
61dc6540 1662004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
167
168 * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
169
3b77fb00 1702004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
171
172 * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
173 * testsuite/libffi.call/float3.c: New test case.
174
7c2fd652 1752004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
176
177 * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
178 the function returning a structure pointed with R2.
179 * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
180 the structure return value if T bit set. Emit position
181 independent code and EH data if PIC.
182
7e74b6d4 1832004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
184
185 * Makefile.am: Add m32r support.
186 * configure.ac: Likewise.
187 * Makefile.in: Regenerate.
188 * confiugre: Regenerate.
189 * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
190 (uint64, sint64, double, longdouble)
191 * src/m32r: New directory.
192 * src/m32r/ffi.c: New file.
193 * src/m32r/sysv.S: Likewise.
194 * src/m32r/ffitarget.h: Likewise.
195
d601026d 1962004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
197
198 * testsuite/libffi.call/negint.c: New test case.
199
ec1bc4ab 2002004-09-14 H.J. Lu <hongjiu.lu@intel.com>
201
202 PR libgcj/17465
203 * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
204 Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
205 LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
206 DYLD_LIBRARY_PATH.
207
41067a17 2082004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
209
210 * testsuite/libffi.call/many_win32.c: Remove whitespaces.
211 * testsuite/libffi.call/promotion.c: Likewise.
212 * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
213 whitespaces.
214 * testsuite/libffi.call/return_sc.c: Likewise.
215 * testsuite/libffi.call/return_uc.c: Likewise.
216
acbdb39a 2172004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
218
219 * src/powerpc/darwin.S: Fix comments and identation.
220 * src/powerpc/darwin_closure.S: Likewise.
221
de7fad36 2222004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
223
224 * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
225 (ffi_prep_args): Handle longdouble arguments.
226 (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
227 longdouble.
228 (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
229 * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
230 values.
231 * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
232 * src/types.c: Defined longdouble size and alignment for darwin.
233
8bf7bfd1 2342004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
235
236 * src/powerpc/aix.S: Remove whitespaces.
237 * src/powerpc/aix_closure.S: Likewise.
238 * src/powerpc/asm.h: Likewise.
239 * src/powerpc/ffi.c: Likewise.
240 * src/powerpc/ffitarget.h: Likewise.
241 * src/powerpc/linux64.S: Likewise.
242 * src/powerpc/linux64_closure.S: Likewise.
243 * src/powerpc/ppc_closure.S: Likewise.
244 * src/powerpc/sysv.S: Likewise.
245
2e818f50 2462004-08-30 Anthony Green <green@redhat.com>
247
248 * Makefile.am: Add frv support.
249 * Makefile.in, testsuite/Makefile.in: Rebuilt.
250 * configure.ac: Read configure.host.
251 * configure.in: Read configure.host.
252 * configure.host: New file. frv-elf needs libgloss.
253 * include/ffi.h.in: Force ffi_closure to have a nice big (8)
752da755 254 alignment. This is needed to frv and shouldn't harm the others.
2e818f50 255 * include/ffi_common.h (ALIGN_DOWN): New macro.
256 * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
257
d36998ee 2582004-08-24 David Daney <daney@avtrex.com>
259
260 * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
261 * testsuite/libffi.call/closure_fn1.c: Likewise.
262 * testsuite/libffi.call/closure_fn2.c Likewise.
263 * testsuite/libffi.call/closure_fn3.c: Likewise.
264 * testsuite/libffi.call/closure_fn4.c: Likewise.
265 * testsuite/libffi.call/closure_fn5.c: Likewise.
266 * testsuite/libffi.call/cls_18byte.c: Likewise.
267 * testsuite/libffi.call/cls_19byte.c: Likewise.
268 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
269 * testsuite/libffi.call/cls_20byte.c: Likewise.
270 * testsuite/libffi.call/cls_20byte1.c: Likewise.
271 * testsuite/libffi.call/cls_24byte.c: Likewise.
272 * testsuite/libffi.call/cls_2byte.c: Likewise.
273 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
274 * testsuite/libffi.call/cls_3byte1.c: Likewise.
275 * testsuite/libffi.call/cls_3byte2.c: Likewise.
276 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
277 * testsuite/libffi.call/cls_4byte.c: Likewise.
278 * testsuite/libffi.call/cls_64byte.c: Likewise.
279 * testsuite/libffi.call/cls_6byte.c: Likewise.
280 * testsuite/libffi.call/cls_7byte.c: Likewise.
281 * testsuite/libffi.call/cls_8byte.c: Likewise.
282 * testsuite/libffi.call/cls_9byte1.c: Likewise.
283 * testsuite/libffi.call/cls_9byte2.c: Likewise.
284 * testsuite/libffi.call/cls_align_double.c: Likewise.
285 * testsuite/libffi.call/cls_align_float.c: Likewise.
286 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
287 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
288 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
289 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
290 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
291 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
292 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
293 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
294 * testsuite/libffi.call/cls_double.c: Likewise.
295 * testsuite/libffi.call/cls_float.c: Likewise.
296 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
297 * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
298 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
299 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
300 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
301 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
302 * testsuite/libffi.call/cls_schar.c: Likewise.
303 * testsuite/libffi.call/cls_sint.c: Likewise.
304 * testsuite/libffi.call/cls_sshort.c: Likewise.
305 * testsuite/libffi.call/cls_uchar.c: Likewise.
306 * testsuite/libffi.call/cls_uint.c: Likewise.
307 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
308 * testsuite/libffi.call/cls_ushort.c: Likewise.
309 * testsuite/libffi.call/nested_struct.c: Likewise.
310 * testsuite/libffi.call/nested_struct1.c: Likewise.
311 * testsuite/libffi.call/nested_struct2.c: Likewise.
312 * testsuite/libffi.call/nested_struct3.c: Likewise.
313 * testsuite/libffi.call/problem1.c: Likewise.
314 * testsuite/libffi.special/unwindtest.cc: Likewise.
315 * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
316 to zero.
317 * testsuite/libffi.call/cls_16byte.c: Likewise.
318 * testsuite/libffi.call/cls_5byte.c: Likewise.
319
29ac6c83 3202004-08-23 David Daney <daney@avtrex.com>
321
322 PR libgcj/13141
323 * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
324 * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
325 (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
326 parameters and return types.
327 (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
328 (ffi_prep_closure): Ditto.
329 (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
330 alignment calculations.
331 * src/mips/o32.S (ffi_closure_O32): Don't use floating point
332 instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
333
4487a7e8 3342004-08-14 Casey Marshall <csm@gnu.org>
335
336 * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
337 contain `FFI_TYPE_UINT64' as return type for any 64-bit
338 integer (O32 ABI only).
339 (ffi_prep_closure): new function.
340 (ffi_closure_mips_inner_O32): new function.
bbb07d35 341 * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
4487a7e8 342 `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
343 * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
344 64 bit integers correctly.
345 (ffi_closure_O32): new function.
346 Added DWARF-2 unwind info for both functions.
347
bb2d2363 3482004-08-10 Andrew Haley <aph@redhat.com>
349
350 * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
351
cb8a7007 3522004-08-01 Robert Millan <robertmh@gnu.org>
353
354 * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
355 * configure: Regenerate.
356
e2f66690 3572004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
358
359 * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
360 and mmap() explicitly instead of relying on preset autoconf cache
361 variables.
362 * aclocal.m4: Regenerate.
363 * configure: Regenerate.
364
e395522d 3652004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
366
367 * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
368 (ffi_check_float_struct): Remove unused prototype.
369
b589ba75 3702004-06-30 Geoffrey Keating <geoffk@apple.com>
371
372 * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
373 character on Darwin, use '\n\t' instead.
374
7b709c61 3752004-06-26 Matthias Klose <doko@debian.org>
376
377 * libtool-version: Fix typo in revision/age.
378
06e2077b 3792004-06-17 Matthias Klose <doko@debian.org>
380
381 * libtool-version: New.
382 * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
383 * Makefile.in: Regenerate.
384
4889e098 3852004-06-15 Paolo Bonzini <bonzini@gnu.org>
d947df39 386
387 * Makefile.am: Remove useless multilib rules.
388 * Makefile.in: Regenerate.
389 * aclocal.m4: Regenerate with automake 1.8.5.
390 * configure.ac: Remove useless multilib configury.
391 * configure: Regenerate.
392
4889e098 3932004-06-15 Paolo Bonzini <bonzini@gnu.org>
b2191698 394
395 * .cvsignore: New file.
396
6bc491fa 3972004-06-10 Jakub Jelinek <jakub@redhat.com>
398
399 * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
400 fp_done.
401 (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
402 changed from 8.
403
e1c1d65f 4042004-06-06 Sean McNeil <sean@mcneil.com>
405
406 * configure.ac: Add x86_64-*-freebsd* support.
407 * configure: Regenerate.
408
2be99030 4092004-04-26 Joe Buck <jbuck@welsh-buck.org>
410
411 Bug 15093
412 * configure.ac: Test for existence of mmap and sys/mman.h before
413 checking blacklist. Fix suggested by Jim Wilson.
414 * configure: Regenerate.
415
efefde65 4162004-04-26 Matt Austern <austern@apple.com>
417
418 * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
419 FDE location.
420 * src/powerpc/darwin_closure.S: Likewise.
bbb07d35 421
5766842b 4222004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
423
424 * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
425 error. Reported by Thomas Heller <theller@python.net>.
426 * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
427 * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
428
43935228 4292004-03-20 Matthias Klose <doko@debian.org>
430
431 * src/pa/linux.S: Fix typo.
432
f35c338f 4332004-03-19 Matthias Klose <doko@debian.org>
434
5766842b 435 * Makefile.am: Update.
f35c338f 436 * Makefile.in: Regenerate.
437 * src/pa/ffi.h.in: Remove.
438 * src/pa/ffitarget.h: New file.
439
4402004-02-10 Randolph Chung <tausq@debian.org>
441
442 * Makefile.am: Add PA support.
443 * Makefile.in: Regenerate.
444 * include/Makefile.in: Regenerate.
445 * configure.ac: Add PA target.
446 * configure: Regenerate.
447 * src/pa/ffi.c: New file.
448 * src/pa/ffi.h.in: Add PA support.
449 * src/pa/linux.S: New file.
450 * prep_cif.c: Add PA support.
451
021bf237 4522004-03-16 Hosaka Yuji <hos@tamanegi.org>
453
454 * src/types.c: Fix alignment size of X86_WIN32 case int64 and
455 double.
456 * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
457 with ecif->cif->flags.
458 (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
459 with cif->flags.
460 (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
461 (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
462 * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
463 sc_retstruct2b): Add for 1 or 2-bytes struct case.
464
4a900809 4652004-03-15 Kelley Cook <kcook@gcc.gnu.org>
466
467 * configure.in: Rename file to ...
468 * configure.ac: ... this.
469 * fficonfig.h.in: Regenerate.
470 * Makefile.in: Regenerate.
471 * include/Makefile.in: Regenerate.
472 * testsuite/Makefile.in: Regenerate.
473
d128584a 4742004-03-12 Matt Austern <austern@apple.com>
475
476 * src/powerpc/darwin.S: Fix EH information so it corresponds to
477 changes in EH format resulting from addition of linkonce support.
478 * src/powerpc/darwin_closure.S: Likewise.
021bf237 479
b375837d 4802004-03-11 Andreas Tobler <a.tobler@schweiz.ch>
481 Paolo Bonzini <bonzini@gnu.org>
482
483 * Makefile.am (AUTOMAKE_OPTIONS): Set them.
484 Remove VPATH. Remove rules for object files. Remove multilib support.
485 (AM_CCASFLAGS): Add.
486 * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
487 (AC_PREREQ): Bump version to 2.59.
488 (AC_INIT): Fill with version info and bug address.
489 (ORIGINAL_LD_FOR_MULTILIBS): Remove.
490 (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
491 De-precious CC so that the right flags are passed down to multilibs.
492 (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
493 (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
494 (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
495 * configure: Rebuilt.
496 * aclocal.m4: Likewise.
497 * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
498 * fficonfig.h.in: Likewise.
499
52cee448 5002004-03-11 Andreas Schwab <schwab@suse.de>
501
502 * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
503 arguments from fp registers only for the first 8 parameter slots.
504 Don't convert a float parameter when passed in memory.
505
ac09b42b 5062004-03-09 Hans-Peter Nilsson <hp@axis.com>
507
508 * configure: Regenerate for config/accross.m4 correction.
509
497c7020 5102004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
511
512 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
513 ecif->cif->bytes to bytes.
514 (ffi_prep_cif_machdep): Add braces around nested if statement.
515
0ad895fb 5162004-02-09 Alan Modra <amodra@bigpond.net.au>
517
ad98ab60 518 * src/types.c (pointer): POWERPC64 has 8 byte pointers.
519
0ad895fb 520 * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
521 (ffi_closure_helper_LINUX64): Fix typo.
522 * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
523 for powerpc64-*-*.
524 * testsuite/libffi.call/float.c: Likewise.
525 * testsuite/libffi.call/float2.c: Likewise.
526
de9c7178 5272004-02-08 Alan Modra <amodra@bigpond.net.au>
528
529 * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
530 long double function return and long double arg handling.
531 (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
532 Use "end_pfr" instead of "nf". Correct long double handling.
533 Localise "temp".
534 * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
535 return value.
536 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
537 space for long double return value. Adjust stack frame and offsets.
538 Load f2 long double return.
539
3474a085 5402004-02-07 Alan Modra <amodra@bigpond.net.au>
541
542 * src/types.c: Use 16 byte long double for POWERPC64.
543
071ff5d6 5442004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
545
546 * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
547 when the structure return address is passed in %o0.
548 (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
549 (ffi_v9_layout_struct): Align the field following a nested structure
550 on a word boundary. Use memmove instead of memcpy.
551 (ffi_call): Update call to ffi_V9_return_struct.
552 (ffi_prep_closure): Define 'ctx' only for V8.
553 (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
554 and ffi_closure_sparc_inner_v9.
555 (ffi_closure_sparc_inner_v8): Return long doubles by reference.
556 Always skip the structure return address. For structures and long
557 doubles, copy the argument directly.
558 (ffi_closure_sparc_inner_v9): Skip the structure return address only
559 if required. Shift the maximum floating-point slot accordingly. For
560 big structures, copy the argument directly; otherwise, left-justify the
561 argument and call ffi_v9_layout_struct to lay out the structure on
562 the stack.
563 * src/sparc/v8.S: Undef STACKFRAME before defining it.
564 (ffi_closure_v8): Pass the structure return address. Update call to
565 ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
566 Skip the 'unimp' insn when returning long doubles and structures.
567 * src/sparc/v9.S: Undef STACKFRAME before defining it.
568 (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
569 FFI_TYPE_INT handling. Load structures both in integers and
570 floating-point registers on return.
571 * README: Update status of the SPARC port.
572
24ee5f14 5732004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
574
575 * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
576 as of type ffi_arg.
577 * testsuite/libffi.call/struct3.c (main): Fix CHECK.
578
1e0ee4d8 5792004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
580
581 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
582 value as of type ffi_arg, not unsigned int.
583
c886ae3f 5842004-01-21 Michael Ritzert <ritzert@t-online.de>
585
586 * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
587 of the LHS.
588
fcd85db3 5892004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
590
591 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
592 Solaris.
593
dcf910e2 5942004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
595
596 * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
597 to void *.
598
3d3042b8 5992003-12-10 Richard Henderson <rth@redhat.com>
600
601 * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
602 size_t instead of int.
603
dc36d4d1 6042003-12-04 Hosaka Yuji <hos@tamanegi.org>
605
606 * testsuite/libffi.call/many_win32.c: Include <float.h>.
607 * testsuite/libffi.call/many_win32.c (main): Replace variable
608 int i with unsigned long ul.
609
610 * testsuite/libffi.call/cls_align_uint64.c: New test case.
611 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
612 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
613 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
614 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
615 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
616 * testsuite/libffi.call/cls_align_float.c: Likewise.
617 * testsuite/libffi.call/cls_align_double.c: Likewise.
618 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
619 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
620
f90351a5 6212003-12-02 Hosaka Yuji <hos@tamanegi.org>
622
623 PR other/13221
624 * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
625 Align arguments to 32 bits.
626
1c4a2a48 6272003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
628
629 PR other/13221
630 * testsuite/libffi.call/cls_multi_sshort.c: New test case.
631 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
632 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
633 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
634 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
635 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
636
637 * testsuite/libffi.special/unwindtest.cc: Cosmetics.
638
8c899267 6392003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
640
641 * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
642 * testsuite/libffi.special/ffitestcxx.h: Likewise.
643
857794c9 6442003-11-22 Andreas Tobler <a.tobler@schweiz.ch>
645
646 * Makefile.in: Rebuilt.
647 * configure: Likewise.
648 * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
649 the right type.
650
e7f352cc 6512003-11-21 Andreas Jaeger <aj@suse.de>
652 Andreas Tobler <a.tobler@schweiz.ch>
653
654 * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
655 * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
656 * Makefile.in: Rebuilt.
657 * aclocal.m4: Likewise.
658 * configure: Likewise.
659 * fficonfig.h.in: Likewise.
660 * testsuite/lib/libffi-dg.exp: Add include dir.
661 * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
662 * testsuite/libffi.special/ffitestcxx.h: Likewise.
663 * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
664 for ffi_closure if available.
665 * testsuite/libffi.call/closure_fn1.c: Likewise.
666 * testsuite/libffi.call/closure_fn2.c: Likewise.
667 * testsuite/libffi.call/closure_fn3.c: Likewise.
668 * testsuite/libffi.call/closure_fn4.c: Likewise.
669 * testsuite/libffi.call/closure_fn5.c: Likewise.
670 * testsuite/libffi.call/cls_12byte.c: Likewise.
671 * testsuite/libffi.call/cls_16byte.c: Likewise.
672 * testsuite/libffi.call/cls_18byte.c: Likewise.
673 * testsuite/libffi.call/cls_19byte.c: Likewise.
674 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
675 * testsuite/libffi.call/cls_20byte.c: Likewise.
676 * testsuite/libffi.call/cls_20byte1.c: Likewise.
677 * testsuite/libffi.call/cls_24byte.c: Likewise.
678 * testsuite/libffi.call/cls_2byte.c: Likewise.
679 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
680 * testsuite/libffi.call/cls_3byte1.c: Likewise.
681 * testsuite/libffi.call/cls_3byte2.c: Likewise.
682 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
683 * testsuite/libffi.call/cls_4byte.c: Likewise.
684 * testsuite/libffi.call/cls_5byte.c: Likewise.
685 * testsuite/libffi.call/cls_64byte.c: Likewise.
686 * testsuite/libffi.call/cls_6byte.c: Likewise.
687 * testsuite/libffi.call/cls_7byte.c: Likewise.
688 * testsuite/libffi.call/cls_8byte.c: Likewise.
689 * testsuite/libffi.call/cls_9byte1.c: Likewise.
690 * testsuite/libffi.call/cls_9byte2.c: Likewise.
691 * testsuite/libffi.call/cls_double.c: Likewise.
692 * testsuite/libffi.call/cls_float.c: Likewise.
693 * testsuite/libffi.call/cls_schar.c: Likewise.
694 * testsuite/libffi.call/cls_sint.c: Likewise.
695 * testsuite/libffi.call/cls_sshort.c: Likewise.
696 * testsuite/libffi.call/cls_uchar.c: Likewise.
697 * testsuite/libffi.call/cls_uint.c: Likewise.
698 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
699 * testsuite/libffi.call/cls_ushort.c: Likewise.
700 * testsuite/libffi.call/nested_struct.c: Likewise.
701 * testsuite/libffi.call/nested_struct1.c: Likewise.
702 * testsuite/libffi.call/nested_struct2.c: Likewise.
703 * testsuite/libffi.call/nested_struct3.c: Likewise.
704 * testsuite/libffi.call/problem1.c: Likewise.
705 * testsuite/libffi.special/unwindtest.cc: Likewise.
706
71e96ac5 7072003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
708
709 * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
710
fd0a337b 7112003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
712
713 * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
714 Add -lgcc_s to additional flags.
715
c2dfd8f6 7162003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
717
718 * configure.in, include/Makefile.am: PR libgcj/11147, install
719 the ffitarget.h header file in a gcc versioned and target
720 dependent place.
721 * configure: Regenerated.
722 * Makefile.in, include/Makefile.in: Likewise.
723 * testsuite/Makefile.in: Likewise.
724
17c9ab63 7252003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
726
727 * testsuite/libffi.call/closure_fn0.c: Print result and check
728 with dg-output to make debugging easier.
729 * testsuite/libffi.call/closure_fn1.c: Likewise.
730 * testsuite/libffi.call/closure_fn2.c: Likewise.
731 * testsuite/libffi.call/closure_fn3.c: Likewise.
732 * testsuite/libffi.call/closure_fn4.c: Likewise.
733 * testsuite/libffi.call/closure_fn5.c: Likewise.
734 * testsuite/libffi.call/cls_12byte.c: Likewise.
735 * testsuite/libffi.call/cls_16byte.c: Likewise.
736 * testsuite/libffi.call/cls_18byte.c: Likewise.
737 * testsuite/libffi.call/cls_19byte.c: Likewise.
738 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
739 * testsuite/libffi.call/cls_20byte.c: Likewise.
740 * testsuite/libffi.call/cls_20byte1.c: Likewise.
741 * testsuite/libffi.call/cls_24byte.c: Likewise.
742 * testsuite/libffi.call/cls_2byte.c: Likewise.
743 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
744 * testsuite/libffi.call/cls_3byte1.c: Likewise.
745 * testsuite/libffi.call/cls_3byte2.c: Likewise.
746 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
747 * testsuite/libffi.call/cls_4byte.c: Likewise.
748 * testsuite/libffi.call/cls_5byte.c: Likewise.
749 * testsuite/libffi.call/cls_64byte.c: Likewise.
750 * testsuite/libffi.call/cls_6byte.c: Likewise.
751 * testsuite/libffi.call/cls_7byte.c: Likewise.
752 * testsuite/libffi.call/cls_8byte.c: Likewise.
753 * testsuite/libffi.call/cls_9byte1.c: Likewise.
754 * testsuite/libffi.call/cls_9byte2.c: Likewise.
755 * testsuite/libffi.call/cls_double.c: Likewise.
756 * testsuite/libffi.call/cls_float.c: Likewise.
757 * testsuite/libffi.call/cls_schar.c: Likewise.
758 * testsuite/libffi.call/cls_sint.c: Likewise.
759 * testsuite/libffi.call/cls_sshort.c: Likewise.
760 * testsuite/libffi.call/cls_uchar.c: Likewise.
761 * testsuite/libffi.call/cls_uint.c: Likewise.
762 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
763 * testsuite/libffi.call/cls_ushort.c: Likewise.
764 * testsuite/libffi.call/problem1.c: Likewise.
765
766 * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
767 static.
768
a0b53ce0 7692003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
770
771 * testsuite/libffi.call/cls_9byte2.c: New test case.
772 * testsuite/libffi.call/cls_9byte1.c: Likewise.
773 * testsuite/libffi.call/cls_64byte.c: Likewise.
774 * testsuite/libffi.call/cls_20byte1.c: Likewise.
775 * testsuite/libffi.call/cls_19byte.c: Likewise.
776 * testsuite/libffi.call/cls_18byte.c: Likewise.
777 * testsuite/libffi.call/closure_fn4.c: Likewise.
778 * testsuite/libffi.call/closure_fn5.c: Likewise.
779 * testsuite/libffi.call/cls_schar.c: Likewise.
780 * testsuite/libffi.call/cls_sint.c: Likewise.
781 * testsuite/libffi.call/cls_sshort.c: Likewise.
782 * testsuite/libffi.call/nested_struct2.c: Likewise.
783 * testsuite/libffi.call/nested_struct3.c: Likewise.
784
ed0ed2e9 7852003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
786
787 * testsuite/libffi.call/cls_double.c: Do a check on the result.
788 * testsuite/libffi.call/cls_uchar.c: Likewise.
789 * testsuite/libffi.call/cls_uint.c: Likewise.
790 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
791 * testsuite/libffi.call/cls_ushort.c: Likewise.
792 * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
793
61641cc0 7942003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
795
796 * src/prep_cif.c (ffi_prep_cif): Move the validity check after
797 the initialization.
798
6a759884 7992003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
800
61641cc0 801 * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
6a759884 802 FFI_ASSERT(FALSE) with FFI_ASSERT(0).
803
4f388831 8042003-10-22 David Daney <ddaney@avtrex.com>
805
806 * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
807 __attribute__((__mode__(__SI__))) and friends.
808
b4891aa6 8092003-10-22 Andreas Schwab <schwab@suse.de>
810
811 * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
812
3d37e05c 8132003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
814
815 * configure.in: AC_LINK_FILES(ffitarget.h).
816 * configure: Regenerate.
817 * Makefile.in: Likewise.
818 * include/Makefile.in: Likewise.
819 * testsuite/Makefile.in: Likewise.
820 * fficonfig.h.in: Likewise.
821
8222003-10-21 Paolo Bonzini <bonzini@gnu.org>
823 Richard Henderson <rth@redhat.com>
824
825 Avoid that ffi.h includes fficonfig.h.
826
827 * Makefile.am (EXTRA_DIST): Include ffitarget.h files
828 (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
829 (TARGET_SRC_MIPS_SGI): Removed.
830 (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
831 (MIPS_SGI): Removed.
832 (CLEANFILES): Removed.
833 (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
834 targets.
835 * acconfig.h: Removed.
836 * configure.in: Compute sizeofs only for double and long double.
837 Use them to define and subst HAVE_LONG_DOUBLE. Include comments
838 into AC_DEFINE instead of using acconfig.h. Create
839 include/ffitarget.h instead of include/fficonfig.h. Rename
840 MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
841 AC_DEFINE EH_FRAME_FLAGS.
842 * include/Makefile.am (DISTCLEANFILES): New automake macro.
843 (hack_DATA): Add ffitarget.h.
844 * include/ffi.h.in: Remove all system specific definitions.
845 Declare raw API even if it is not installed, why bother?
846 Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
847 not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
848 ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
849 (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
850 * include/ffi_common.h (bool): Do not define.
851 (ffi_assert): Accept failed assertion.
852 (ffi_type_test): Return void and accept file/line.
853 (FFI_ASSERT): Pass stringized failed assertion.
854 (FFI_ASSERT_AT): New macro.
855 (FFI_ASSERT_VALID_TYPE): New macro.
856 (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
857 UINT64, SINT64): Define here with gcc's __attribute__ macro
858 instead of in ffi.h
859 (FLOAT32, ALIGN): Define here instead of in ffi.h
860 * include/ffi-mips.h: Removed. Its content moved to
861 src/mips/ffitarget.h after separating assembly and C sections.
862 * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
863 src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
864 src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
865 src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
866 SIZEOF_ARG -> FFI_SIZEOF_ARG.
867 * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
868 * src/debug.c (ffi_assert): Accept stringized failed assertion.
869 (ffi_type_test): Rewritten.
870 * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
871 FFI_ASSERT_VALID_TYPE.
872 * src/alpha/ffitarget.h, src/arm/ffitarget.h,
873 src/ia64/ffitarget.h, src/m68k/ffitarget.h,
874 src/mips/ffitarget.h, src/powerpc/ffitarget.h,
875 src/s390/ffitarget.h, src/sh/ffitarget.h,
876 src/sh64/ffitarget.h, src/sparc/ffitarget.h,
877 src/x86/ffitarget.h: New files.
878 * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
879 src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
880 src/powerpc/aix.S, src/powerpc/darwin.S,
881 src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
882 src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
883 src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
884 src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
885 src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
886 include fficonfig.h
887
2a5f9ffc 8882003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
889
890 * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
891 _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
892
51c5f96c 8932003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
894
895 * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
896 Used when FFI_DEBUG = 1.
897
ee46e78f 8982003-10-14 Alan Modra <amodra@bigpond.net.au>
899
900 * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
901 and align.
902
a3abe7fe 9032003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
904
905 * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
906 FFI_MIPS_O32 for O32 ABI.
907
1ee4561e 9082003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
909
910 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
911 SPARC64. Cleanup whitespaces.
912
93421fe6 9132003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
914
915 * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
916 strongarm, xscale. Cleanup whitespaces.
917 * testsuite/libffi.call/closure_fn1.c: Likewise.
918 * testsuite/libffi.call/closure_fn2.c: Likewise.
919 * testsuite/libffi.call/closure_fn3.c: Likewise.
920 * testsuite/libffi.call/cls_12byte.c: Likewise.
921 * testsuite/libffi.call/cls_16byte.c: Likewise.
922 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
923 * testsuite/libffi.call/cls_20byte.c: Likewise.
924 * testsuite/libffi.call/cls_24byte.c: Likewise.
925 * testsuite/libffi.call/cls_2byte.c: Likewise.
926 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
927 * testsuite/libffi.call/cls_3byte1.c: Likewise.
928 * testsuite/libffi.call/cls_3byte2.c: Likewise.
929 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
930 * testsuite/libffi.call/cls_4byte.c: Likewise.
931 * testsuite/libffi.call/cls_5byte.c: Likewise.
932 * testsuite/libffi.call/cls_6byte.c: Likewise.
933 * testsuite/libffi.call/cls_7byte.c: Likewise.
934 * testsuite/libffi.call/cls_8byte.c: Likewise.
935 * testsuite/libffi.call/cls_double.c: Likewise.
936 * testsuite/libffi.call/cls_float.c: Likewise.
937 * testsuite/libffi.call/cls_uchar.c: Likewise.
938 * testsuite/libffi.call/cls_uint.c: Likewise.
939 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
940 * testsuite/libffi.call/cls_ushort.c: Likewise.
941 * testsuite/libffi.call/nested_struct.c: Likewise.
942 * testsuite/libffi.call/nested_struct1.c: Likewise.
943 * testsuite/libffi.call/problem1.c: Likewise.
944 * testsuite/libffi.special/unwindtest.cc: Likewise.
945 * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
946
8a94dd75 9472003-09-18 David Edelsohn <edelsohn@gnu.org>
948
949 * src/powerpc/aix.S: Cleanup whitespaces.
950 * src/powerpc/aix_closure.S: Likewise.
951
bd1f3533 9522003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
953
954 * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
955 * src/powerpc/darwin_closure.S: Likewise.
956 * src/powerpc/ffi_darwin.c: Likewise.
957
7a142533 9582003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
959 David Edelsohn <edelsohn@gnu.org>
960
961 * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
962 * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
963 parameter stack.
964 * src/powerpc/darwin_closure.S: Likewise.
965 * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
966 according to the Darwin/AIX ABI.
967 (ffi_prep_cif_machdep): Likewise.
968 (ffi_closure_helper_DARWIN): Likewise.
969 Remove the outgoing parameter stack logic. Simplify the evaluation
970 of the different CASE types.
971 (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
972 statement in the trampoline code.
973
d80727ae 9742003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
975
976 * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
977 for the register size.
978 (ffi_closure_helper_SYSV): Handle the structure return value
979 address correctly.
980 (ffi_closure_helper_SYSV): Return the appropriate type when
981 the registers are used for the structure return value.
982 * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
983 the 64-bit return value. Update copyright years.
984
47fab6c3 9852003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
986
987 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
988 srcdir for ffi_mips.h.
989
f397026a 9902003-09-12 Alan Modra <amodra@bigpond.net.au>
991
992 * src/prep_cif.c (initialize_aggregate): Include tail padding in
993 structure size.
994 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
995 placement of float result.
996 * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
997 cast of "resp" for big-endian 64 bit machines.
998
341b7dcf 9992003-09-11 Alan Modra <amodra@bigpond.net.au>
1000
1001 * src/types.c (double, longdouble): Merge identical SH and ARM
1002 typedefs, and add POWERPC64.
1003 * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
1004 struct split over gpr and rest.
1005 (ffi_prep_cif_machdep): Correct intarg_count for structures.
1006 * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
1007
06855f3a 10082003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
1009
1010 * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
1011 passing correctly.
c886ae3f 1012
9165b0af 10132003-09-09 Alan Modra <amodra@bigpond.net.au>
1014
1015 * configure: Regenerate.
1016
98d58335 10172003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
1018
1019 * Makefile.am: Remove build rules for ffitest.
1020 * Makefile.in: Rebuilt.
c886ae3f 1021
98d58335 10222003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
0262ee1f 1023
1024 * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
1025 about implicit declaration of abort().
1026
3743c332 10272003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
1028
1029 * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
1030 * Makefile.in: Rebuilt.
1031 * configure.in: Add dejagnu test framework.
1032 * configure: Rebuilt.
1033
1034 * testsuite/Makefile.am: New file.
1035 * testsuite/Makefile.in: Built
c886ae3f 1036 * testsuite/lib/libffi-dg.exp: New file.
3743c332 1037 * testsuite/config/default.exp: Likewise.
1038 * testsuite/libffi.call/call.exp: Likewise.
1039 * testsuite/libffi.call/ffitest.h: Likewise.
1040 * testsuite/libffi.call/closure_fn0.c: Likewise.
1041 * testsuite/libffi.call/closure_fn1.c: Likewise.
1042 * testsuite/libffi.call/closure_fn2.c: Likewise.
1043 * testsuite/libffi.call/closure_fn3.c: Likewise.
1044 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
1045 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
1046 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
1047 * testsuite/libffi.call/cls_2byte.c: Likewise.
1048 * testsuite/libffi.call/cls_3byte1.c: Likewise.
1049 * testsuite/libffi.call/cls_3byte2.c: Likewise.
1050 * testsuite/libffi.call/cls_4byte.c: Likewise.
1051 * testsuite/libffi.call/cls_5byte.c: Likewise.
1052 * testsuite/libffi.call/cls_6byte.c: Likewise.
1053 * testsuite/libffi.call/cls_7byte.c: Likewise.
1054 * testsuite/libffi.call/cls_8byte.c: Likewise.
1055 * testsuite/libffi.call/cls_12byte.c: Likewise.
1056 * testsuite/libffi.call/cls_16byte.c: Likewise.
1057 * testsuite/libffi.call/cls_20byte.c: Likewise.
1058 * testsuite/libffi.call/cls_24byte.c: Likewise.
1059 * testsuite/libffi.call/cls_double.c: Likewise.
1060 * testsuite/libffi.call/cls_float.c: Likewise.
1061 * testsuite/libffi.call/cls_uchar.c: Likewise.
1062 * testsuite/libffi.call/cls_uint.c: Likewise.
1063 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
1064 * testsuite/libffi.call/cls_ushort.c: Likewise.
1065 * testsuite/libffi.call/float.c: Likewise.
1066 * testsuite/libffi.call/float1.c: Likewise.
1067 * testsuite/libffi.call/float2.c: Likewise.
1068 * testsuite/libffi.call/many.c: Likewise.
1069 * testsuite/libffi.call/many_win32.c: Likewise.
1070 * testsuite/libffi.call/nested_struct.c: Likewise.
1071 * testsuite/libffi.call/nested_struct1.c: Likewise.
1072 * testsuite/libffi.call/pyobjc-tc.c: Likewise.
1073 * testsuite/libffi.call/problem1.c: Likewise.
1074 * testsuite/libffi.call/promotion.c: Likewise.
1075 * testsuite/libffi.call/return_ll.c: Likewise.
1076 * testsuite/libffi.call/return_sc.c: Likewise.
1077 * testsuite/libffi.call/return_uc.c: Likewise.
1078 * testsuite/libffi.call/strlen.c: Likewise.
1079 * testsuite/libffi.call/strlen_win32.c: Likewise.
1080 * testsuite/libffi.call/struct1.c: Likewise.
1081 * testsuite/libffi.call/struct2.c: Likewise.
1082 * testsuite/libffi.call/struct3.c: Likewise.
1083 * testsuite/libffi.call/struct4.c: Likewise.
1084 * testsuite/libffi.call/struct5.c: Likewise.
1085 * testsuite/libffi.call/struct6.c: Likewise.
1086 * testsuite/libffi.call/struct7.c: Likewise.
1087 * testsuite/libffi.call/struct8.c: Likewise.
c886ae3f 1088 * testsuite/libffi.call/struct9.c: Likewise.
3743c332 1089 * testsuite/libffi.special/special.exp: New file.
1090 * testsuite/libffi.special/ffitestcxx.h: Likewise.
1091 * testsuite/libffi.special/unwindtest.cc: Likewise.
1092
c886ae3f 1093
3a845f75 10942003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
1095
1096 * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
1097 copyright years.
1098
4637dfa6 10992003-08-02 Alan Modra <amodra@bigpond.net.au>
1100
1101 * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
1102 structure passing.
1103 (ffi_closure_helper_LINUX64): Likewise.
1104 * src/powerpc/linux64.S: Remove code writing to parm save area.
1105 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
1106 address in lr from ffi_closure_helper_LINUX64 call to calculate
1107 table address. Optimize function tail.
1108
8bcdc7f0 11092003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
1110
1111 * src/sparc/ffi.c: Handle all floating point registers.
1112 * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
1113
3d6cc549 11142003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
1115
1116 * README: Note that libffi is not part of GCC. Update the project
1117 URL and status.
1118
9b770b5a 11192003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1120
1121 * src/powerpc/ppc_closure.S: Include ffi.h.
1122
d46ab9f3 11232003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1124
1125 * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
1126 Use C style comments.
1127
81f536a3 11282003-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
1129
1130 * Makefile.am: Add SHmedia support. Fix a typo of SH support.
1131 * Makefile.in: Regenerate.
1132 * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
1133 * configure: Regenerate.
1134 * include/ffi.h.in: Add SHmedia support.
1135 * src/sh64/ffi.c: New file.
1136 * src/sh64/sysv.S: New file.
1137
1da888ec 11382003-05-16 Jakub Jelinek <jakub@redhat.com>
1139
1140 * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
1141 should be read-only.
1142 * configure: Rebuilt.
1143 * fficonfig.h.in: Rebuilt.
1144 * include/ffi.h.in (EH_FRAME_FLAGS): Define.
1145 * src/alpha/osf.S: Use EH_FRAME_FLAGS.
1146 * src/powerpc/linux64.S: Likewise.
1147 * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
1148 * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
1149 if -fpic/-fPIC/-mrelocatable.
1150 * src/powerpc/powerpc_closure.S: Likewise.
1151 * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
1152 #write in .eh_frame flags.
1153 * src/sparc/v9.S: Likewise.
1154 * src/x86/unix64.S: Use EH_FRAME_FLAGS.
1155 * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
1156 * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
1157
f3bd7a2c 11582003-05-07 Jeff Sturm <jsturm@one-point.com>
1159
1160 Fixes PR bootstrap/10656
1161 * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
1162 support for .register pseudo-op.
1163 * src/sparc/v8.S: Use it.
1164 * fficonfig.h.in: Rebuilt.
1165 * configure: Rebuilt.
1166
3647950d 11672003-04-18 Jakub Jelinek <jakub@redhat.com>
1168
1169 * include/ffi.h.in (POWERPC64): Define if 64-bit.
1170 (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
1171 Make it the default on POWERPC64.
1172 (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
1173 * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
1174 * configure: Rebuilt.
1175 * src/powerpc/ffi.c (hidden): Define.
1176 (ffi_prep_args_SYSV): Renamed from
1177 ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
1178 (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
1179 ASM_NEEDS_REGISTERS64): New.
1180 (ffi_prep_args64): New function.
1181 (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
1182 (ffi_call): Likewise.
1183 (ffi_prep_closure): Likewise.
1184 (flush_icache): Surround by #ifndef POWERPC64.
1185 (ffi_dblfl): New union type.
1186 (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
1187 (ffi_closure_helper_LINUX64): New function.
1188 * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
1189 __powerpc64__.
1190 * src/powerpc/sysv.S: Likewise.
1191 (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
1192 * src/powerpc/linux64.S: New file.
1193 * src/powerpc/linux64_closure.S: New file.
1194 * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
1195 src/powerpc/linux64_closure.S.
1196 (TARGET_SRC_POWERPC): Likewise.
1197
1198 * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
1199 closure_test_fn3): Fix result printing on big-endian 64-bit
1200 machines.
1201 (main): Print tst2_arg instead of uninitialized tst2_result.
1202
1203 * src/ffitest.c (main): Hide what closure pointer really points to
1204 from the compiler.
1205
1636e920 12062003-04-16 Richard Earnshaw <rearnsha@arm.com>
1207
1208 * configure.in (arm-*-netbsdelf*): Add configuration.
1209 (configure): Regenerated.
1210
e663564a 12112003-04-04 Loren J. Rittle <ljrittle@acm.org>
1212
1213 * include/Makefile.in: Regenerate.
1214
02f5d4c9 12152003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1216
1217 * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
1218 bit mode.
1219 * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
1220 Receive closure pointer through parameter, read args using
1221 __builtin_dwarf_cfa.
1222 (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
1223
b8e27232 12242003-03-12 Andreas Schwab <schwab@suse.de>
1225
1226 * configure.in: Avoid trailing /. in toolexeclibdir.
1227 * configure: Rebuilt.
1228
5fee68c6 12292003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
1230
bbb07d35 1231 * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
5fee68c6 1232
ecadab3f 12332003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
1234
1235 * libffi/src/powerpc/darwin_closure.S:
1236 Fix alignement bug, allocate 8 bytes for the result.
c886ae3f 1237 * libffi/src/powerpc/aix_closure.S:
ecadab3f 1238 Likewise.
1239 * libffi/src/powerpc/ffi_darwin.c:
1240 Update stackframe description for aix/darwin_closure.S.
c886ae3f 1241
a0294641 12422003-02-06 Jakub Jelinek <jakub@redhat.com>
1243
1244 * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
1245 attribute.
1246
624476ed 12472003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
1248 Andreas Schwab <schwab@suse.de>
1249
bbb07d35 1250 * configure.in: Adjust command to source config-ml.in to account
624476ed 1251 for changes to the libffi_basedir definition.
1252 (libffi_basedir): Remove ${srcdir} from value and include trailing
1253 slash if nonempty.
c886ae3f 1254
bbb07d35 1255 * configure: Regenerate.
624476ed 1256
1143cc9b 12572003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1258
1259 * src/powerpc/ppc_closure.S: Recode to fit shared libs.
1260
967ae8fb 12612003-01-28 Andrew Haley <aph@redhat.com>
1262
1263 * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
1264 * src/x86/ffi64.c (ffi_prep_closure): New.
1265 (ffi_closure_UNIX64_inner): New.
1266 * src/x86/unix64.S (ffi_closure_UNIX64): New.
1267
c8d4fa8c 12682003-01-27 Alexandre Oliva <aoliva@redhat.com>
1269
1270 * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
1271 Remove USE_LIBDIR conditional.
1272 * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
1273 * Makefile.in, configure: Rebuilt.
1274
2dd7852c 12752003-01027 David Edelsohn <edelsohn@gnu.org>
1276
1277 * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
1278 * Makefile.in: Regenerate.
1279
008eadcd 12802003-01-22 Andrew Haley <aph@redhat.com>
1281
1282 * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
1283 unwind info.
1284
cb440058 12852003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
1286
1287 * src/powerpc/darwin.S: Add unwind info.
1288 * src/powerpc/darwin_closure.S: Likewise.
1289
149417bc 12902003-01-14 Andrew Haley <aph@redhat.com>
1291
1292 * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
1293 (ffi_prep_cif_machdep): Likewise.
1294 * src/x86/unix64.S: Add unwind info.
1295
d4dcd973 12962003-01-14 Andreas Jaeger <aj@suse.de>
1297
1298 * src/ffitest.c (main): Only use ffi_closures if those are
1299 supported.
1300
a7898d0c 13012003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
1302
1303 * libffi/src/ffitest.c
bbb07d35 1304 add closure testcases
a7898d0c 1305
13062003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
1307
1308 * libffi/src/powerpc/ffi.c
bbb07d35 1309 fix alignment bug for float (4 byte aligned iso 8 byte)
a7898d0c 1310
4e844289 13112003-01-09 Geoffrey Keating <geoffk@apple.com>
1312
1313 * src/powerpc/ffi_darwin.c: Remove RCS version string.
1314 * src/powerpc/darwin.S: Remove RCS version string.
1315
0ef3e9c5 13162003-01-03 Jeff Sturm <jsturm@one-point.com>
1317
1318 * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
1319 * src/ffitest.c (main): Use static storage for closure.
1320 * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
1321 * src/sparc/v8.S (ffi_closure_v8): New.
1322 * src/sparc/v9.S (ffi_closure_v9): New.
1323
acdc3fc3 13242002-11-10 Ranjit Mathew <rmathew@hotmail.com>
1325
1326 * include/ffi.h.in: Added FFI_STDCALL ffi_type
1327 enumeration for X86_WIN32.
1328 * src/x86/win32.S: Added ffi_call_STDCALL function
1329 definition.
1330 * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
1331 switch cases for recognising FFI_STDCALL and
1332 calling ffi_call_STDCALL if target is X86_WIN32.
1333 * src/ffitest.c (my_stdcall_strlen/stdcall_many):
1334 stdcall versions of the "my_strlen" and "many"
1335 test functions (for X86_WIN32).
1336 Added test cases to test stdcall invocation using
1337 these functions.
1338
805e22b2 13392002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
1340
1341 * src/sh/sysv.S: Add DWARF2 unwind info.
1342
6d219176 13432002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
1344
1345 * src/s390/sysv.S (.eh_frame section): Make section read-only.
1346
4827afc9 13472002-11-26 Jim Wilson <wilson@redhat.com>
1348
1349 * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
1350
805e22b2 13512002-11-23 H.J. Lu <hjl@gnu.org>
1352
1353 * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
1354 Include ../config/accross.m4.
1355 * aclocal.m4; Rebuild.
1356 * configure: Likewise.
1357
e3a04290 13582002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
1359
1360 * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
1361
be36f77d 13622002-11-11 DJ Delorie <dj@redhat.com>
1363
1364 * configure.in: Look for common files in the right place.
1365
dd985e54 13662002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
1367
1368 * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
1369 raw data as _Jv_word values, not ffi_raw.
1370 (ffi_java_ptrarray_to_raw): Likewise.
1371 (ffi_java_rvalue_to_raw): New function.
1372 (ffi_java_raw_call): Call it.
1373 (ffi_java_raw_to_rvalue): New function.
1374 (ffi_java_translate_args): Call it.
1375 * src/ffitest.c (closure_test_fn): Interpret return value
1376 as ffi_arg, not int.
1377 * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
1378 FFI_TYPE_POINTER case.
1379 (ffi_closure_helper_SYSV): Likewise. Also, assume return
1380 values extended to word size.
1381
4a18e5fa 13822002-10-02 Andreas Jaeger <aj@suse.de>
1383
1384 * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
1385
3d8ac088 13862002-10-01 Bo Thorsen <bo@smetana.suse.de>
1387
1388 * include/ffi.h.in: Fix i386 win32 compilation.
1389
e0aaecf3 13902002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
1391
1392 * configure.in: Add s390x-*-linux-* target.
1393 * configure: Regenerate.
1394 * include/ffi.h.in: Define S390X for s390x targets.
1395 (FFI_CLOSURES): Define for s390/s390x.
1396 (FFI_TRAMPOLINE_SIZE): Likewise.
1397 (FFI_NATIVE_RAW_API): Likewise.
1398 * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
1399 * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
805e22b2 1400 * src/s390/ffi.c: Major rework of existing code. Add support for
e0aaecf3 1401 s390x targets. Add closure support.
1402 * src/s390/sysv.S: Likewise.
1403
c3e9c301 14042002-09-29 Richard Earnshaw <rearnsha@arm.com>
1405
1406 * src/arm/sysv.S: Fix typo.
1407
d13886be 14082002-09-28 Richard Earnshaw <rearnsha@arm.com>
1409
1410 * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
1411 has defined __USER_LABEL_PREFIX__, then use it in CNAME.
1412 (ffi_call_SYSV): Handle soft-float.
1413
aaff811e 14142002-09-27 Bo Thorsen <bo@suse.de>
1415
1416 * include/ffi.h.in: Fix multilib x86-64 support.
1417
5f7912d8 14182002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1419
1420 * Makefile.am (all-multi): Fix multilib parallel build.
1421
ccda5e55 14222002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
1423
1424 * configure.in (sh[34]*-*-linux*): Add brackets.
1425 * configure: Regenerate.
1426
b1e5d71d 14272002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
1428
1429 * Makefile.am: Add SH support.
1430 * Makefile.in: Regenerate.
1431 * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
1432 * configure: Regenerate.
1433 * include/ffi.h.in: Add SH support.
1434 * src/sh/ffi.c: New file.
1435 * src/sh/sysv.S: New file.
1436 * src/types.c: Add SH support.
1437
42c71854 14382002-07-16 Bo Thorsen <bo@suse.de>
1439
1440 * src/x86/ffi64.c: New file that adds x86-64 support.
1441 * src/x86/unix64.S: New file that handles argument setup for
1442 x86-64.
1443 * src/x86/sysv.S: Don't use this on x86-64.
1444 * src/x86/ffi.c: Don't use this on x86-64.
1445 Remove unused vars.
1446 * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
1447 for x86-64.
1448 * src/ffitest.c (struct6): New test that tests a special case in
1449 the x86-64 ABI.
1450 (struct7): Likewise.
1451 (struct8): Likewise.
1452 (struct9): Likewise.
1453 (closure_test_fn): Silence warning about this when it's not used.
1454 (main): Add the new tests.
1455 (main): Fix a couple of wrong casts and silence some compiler warnings.
1456 * include/ffi.h.in: Add x86-64 ABI definition.
1457 * fficonfig.h.in: Regenerate.
1458 * Makefile.am: Add x86-64 support.
1459 * configure.in: Likewise.
1460 * Makefile.in: Regenerate.
1461 * configure: Likewise.
1462
14632002-06-24 Bo Thorsen <bo@suse.de>
1464
1465 * src/types.c: Merge settings for similar architectures.
1466 Add x86-64 sizes and alignments.
1467
14682002-06-23 Bo Thorsen <bo@suse.de>
1469
1470 * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
1471 * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
1472 * src/mips/ffi.c (ffi_prep_args): Likewise.
1473 * src/m68k/ffi.c (ffi_prep_args): Likewise.
1474
72726889 14752002-07-18 H.J. Lu (hjl@gnu.org)
1476
1477 * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
1478 (libffi_la_SOURCES): Support MIPS_LINUX.
1479 (libffi_convenience_la_SOURCES): Likewise.
1480 * Makefile.in: Regenerated.
1481
1482 * configure.in (mips64*-*): Skip.
1483 (mips*-*-linux*): New.
1484 * configure: Regenerated.
1485
1486 * src/mips/ffi.c: Include <sgidefs.h>.
1487
e17e640b 14882002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
1489
1490 * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
1491
b5d69d52 14922002-05-27 Roger Sayle <roger@eyesopen.com>
1493
1494 * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
1495
eadca1d5 14962002-05-27 Bo Thorsen <bo@suse.de>
1497
1498 * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
1499 fix formatting.
1500
2abdadc9 15012002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
1502
1503 * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
1504 beginning of function (for older apple cc).
1505
0b045cf7 15062002-05-08 Alexandre Oliva <aoliva@redhat.com>
1507
1508 * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
1509 script entry, and set LD to it when configuring multilibs.
1510 * configure: Rebuilt.
1511
7f0e056d 15122002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
1513
1514 * configure.in (sparc64-*-netbsd*): Add target.
1515 (sparc-*-netbsdelf*): Likewise.
1516 * configure: Regenerate.
1517
b19313f4 15182002-04-28 David S. Miller <davem@redhat.com>
1519
1520 * configure.in, configure: Fix SPARC test in previous change.
1521
ea1f83c5 15222002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
1523
1524 * Makefile.am: Add Linux for S/390 support.
1525 * Makefile.in: Regenerate.
1526 * configure.in: Add Linux for S/390 support.
1527 * configure: Regenerate.
1528 * include/ffi.h.in: Add Linux for S/390 support.
1529 * src/s390/ffi.c: New file from libffi CVS tree.
1530 * src/s390/sysv.S: New file from libffi CVS tree.
1531
b40c762b 15322002-04-28 Jakub Jelinek <jakub@redhat.com>
1533
1534 * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
1535 %r_disp32().
1536 * src/sparc/v8.S: Use it.
1537 * src/sparc/v9.S: Likewise.
1538 * fficonfig.h.in: Rebuilt.
1539 * configure: Rebuilt.
1540
00f87a50 15412002-04-08 Hans Boehm <Hans_Boehm@hp.com>
1542
1543 * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
1544 correctly.
1545 * src/ia64/unix.S: Add unwind information. Fix comments.
1546 Save sp in a way that's compatible with unwind info.
1547 (ffi_call_unix): Correctly restore sp in all cases.
1548 * src/ia64/ffi.c: Add, fix comments.
1549
a622ae9d 15502002-04-08 Jakub Jelinek <jakub@redhat.com>
1551
1552 * src/sparc/v8.S: Make .eh_frame dependent on target word size.
1553
c1d86bcd 15542002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
1555
1556 * configure.in (alpha*-*-netbsd*): Add target.
1557 * configure: Regenerate.
1558
3faa4340 15592002-04-04 Jeff Sturm <jsturm@one-point.com>
1560
1561 * src/sparc/v8.S: Add unwind info.
1562 * src/sparc/v9.S: Likewise.
1563
ec66e65b 15642002-03-30 Krister Walfridsson <cato@df.lth.se>
1565
1566 * configure.in: Enable i*86-*-netbsdelf*.
1567 * configure: Rebuilt.
805e22b2 1568
9ee9948b 15692002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
1570
1571 PR other/2620
1572 * src/mips/n32.s: Delete
1573 * src/mips/o32.s: Delete
1574
6c74b4f2 15752002-03-21 Loren J. Rittle <ljrittle@acm.org>
1576
1577 * configure.in: Enable alpha*-*-freebsd*.
1578 * configure: Rebuilt.
1579
9d0a2dd5 15802002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1581
1582 * Makefile.am: libfficonvenience -> libffi_convenience.
1583 * Makefile.in: Rebuilt.
805e22b2 1584
ee7750c2 1585 * Makefile.am: Define ffitest_OBJECTS.
1586 * Makefile.in: Rebuilt.
9d0a2dd5 1587
f6a16bd8 15882002-03-07 Andreas Tobler <toa@pop.agri.ch>
1589 David Edelsohn <edelsohn@gnu.org>
1590
1591 * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
1592 (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
1593 (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
1594 * Makefile.in: Regenerate.
1595 * include/ffi.h.in: Add AIX and Darwin closure definitions.
1596 * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
1597 (flush_icache, flush_range): New functions.
1598 (ffi_closure_helper_DARWIN): New function.
1599 * src/powerpc/aix_closure.S: New file.
1600 * src/powerpc/darwin_closure.S: New file.
805e22b2 1601
fed8d18d 16022002-02-24 Jeff Sturm <jsturm@one-point.com>
1603
1604 * include/ffi.h.in: Add typedef for ffi_arg.
1605 * src/ffitest.c (main): Declare rint with ffi_arg.
805e22b2 1606
ddac7e16 16072002-02-21 Andreas Tobler <toa@pop.agri.ch>
1608
1609 * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
1610 number of GPRs for floating-point arguments.
1611
ed35b400 16122002-01-31 Anthony Green <green@redhat.com>
1613
1614 * configure: Rebuilt.
1615 * configure.in: Replace CHECK_SIZEOF and endian tests with
1616 cross-compiler friendly macros.
1617 * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
1618 macros.
1619
bf270768 16202002-01-18 David Edelsohn <edelsohn@gnu.org>
1621
1622 * src/powerpc/darwin.S (_ffi_call_AIX): New.
dc155f85 1623 * src/powerpc/aix.S (ffi_call_DARWIN): New.
bf270768 1624
faae36ce 16252002-01-17 David Edelsohn <edelsohn@gnu.org>
1626
1627 * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
1628 (TARGET_SRC_POWERPC_AIX): New.
1629 (POWERPC_AIX): New stanza.
1630 * Makefile.in: Regenerate.
1631 * configure.in: Add AIX case.
1632 * configure: Regenerate.
1633 * include/ffi.h.in (ffi_abi): Add FFI_AIX.
1634 * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
1635 size. Fix "long double" support.
1636 (ffi_call): Add FFI_AIX case.
1637 * src/powerpc/aix.S: New.
1638
b81d6fe1 16392001-10-09 John Hornkvist <john@toastedmarshmallow.com>
1640
1641 Implement Darwin PowerPC ABI.
1642 * configure.in: Handle powerpc-*-darwin*.
1643 * Makefile.am: Set source files for POWERPC_DARWIN.
1644 * configure: Rebuilt.
1645 * Makefile.in: Rebuilt.
1646 * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
1647 POWERPC_DARWIN.
1648 * src/powerpc/darwin.S: New file.
1649 * src/powerpc/ffi_darwin.c: New file.
1650
9bccb7a3 16512001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
1652
1653 * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
1654
ac1f371e 16552001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1656
1657 * src/x86/sysv.S: Avoid gas-only .balign directive.
1658 Use C style comments.
1659
e1e36390 16602001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1661
1662 * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
1663 Fixes PR bootstrap/3563.
1664
deb29e7a 16652001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1666
1667 * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
1668
8008de24 16692001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1670
1671 * configure.in: Recognize sparc*-sun-* host.
1672 * configure: Regenerate.
805e22b2 1673
5fc46419 16742001-06-06 Andrew Haley <aph@redhat.com>
1675
968b0d1e 1676 * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
5fc46419 1677
49ff2ded 16782001-06-03 Andrew Haley <aph@redhat.com>
1679
968b0d1e 1680 * src/alpha/osf.S: Add unwind info.
1681 * src/powerpc/sysv.S: Add unwind info.
1682 * src/powerpc/ppc_closure.S: Likewise.
49ff2ded 1683
070883fe 16842000-05-31 Jeff Sturm <jsturm@one-point.com>
1685
1686 * configure.in: Fix AC_ARG_ENABLE usage.
1687 * configure: Rebuilt.
1688
09da9506 16892001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
1690
1691 * configure.in: Remove warning about beta code.
1692 * configure: Rebuilt.
1693
16942001-04-25 Hans Boehm <Hans_Boehm@hp.com>
1695
6c1b002f 1696 * src/ia64/unix.S: Restore stack pointer when returning from
1697 ffi_closure_UNIX.
1698 * src/ia64/ffi.c: Fix typo in comment.
1699
c4312026 17002001-04-18 Jim Wilson <wilson@redhat.com>
1701
1702 * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
1703 to eliminate RAW DV.
1704
db6ca0af 17052001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
1706
1707 * Makefile.am: Make a libtool convenience library.
1708 * Makefile.in: Rebuilt.
1709
9461b350 17102001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
1711
1712 * configure.in: Use different syntax for subdirectory creation.
1713 * configure: Rebuilt.
1714
a4cc90ca 17152001-03-27 Jon Beniston <jon@beniston.com>
1716
1717 * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
1718 * configure: Rebuilt.
1719 * Makefile.am: Added X86_WIN32 target support.
1720 * Makefile.in: Rebuilt.
1721
1722 * include/ffi.h.in: Added X86_WIN32 target support.
1723
1724 * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
1725 * src/types.c: Added X86_WIN32 target support.
1726
1727 * src/x86/win32.S: New file. Based on sysv.S, but with EH
1728 stuff removed and made to work with CygWin's gas.
1729
21f4579d 17302001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
1731
1732 * configure.in: Make target subdirectory in build dir.
1733 * Makefile.am: Override suffix based rules to specify correct output
1734 subdirectory.
1735 * Makefile.in: Rebuilt.
1736 * configure: Rebuilt.
1737
29183c57 17382001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
384eea1f 1739
1740 * src/powerpc/ppc_closure.S: New file.
1741 * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
1742 involving long long and register pairs.
1743 (ffi_prep_closure): New function.
1744 (flush_icache): Likewise.
1745 (ffi_closure_helper_SYSV): Likewise.
1746 * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
1747 (FFI_TRAMPOLINE_SIZE): Likewise.
1748 (FFI_NATIVE_RAW_API): Likewise.
1749 * Makefile.in: Rebuilt.
1750 * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
1751 (TARGET_SRC_POWERPC): Likewise.
1752
49604b5b 17532001-03-19 Tom Tromey <tromey@redhat.com>
1754
1755 * Makefile.in: Rebuilt.
1756 * Makefile.am (ffitest_LDFLAGS): New macro.
1757
c8fdcc07 17582001-03-02 Nick Clifton <nickc@redhat.com>
1759
1760 * include/ffi.h.in: Remove RCS ident string.
1761 * include/ffi_mips.h: Remove RCS ident string.
1762 * src/debug.c: Remove RCS ident string.
1763 * src/ffitest.c: Remove RCS ident string.
1764 * src/prep_cif.c: Remove RCS ident string.
1765 * src/types.c: Remove RCS ident string.
1766 * src/alpha/ffi.c: Remove RCS ident string.
1767 * src/alpha/osf.S: Remove RCS ident string.
1768 * src/arm/ffi.c: Remove RCS ident string.
1769 * src/arm/sysv.S: Remove RCS ident string.
1770 * src/mips/ffi.c: Remove RCS ident string.
1771 * src/mips/n32.S: Remove RCS ident string.
1772 * src/mips/o32.S: Remove RCS ident string.
1773 * src/sparc/ffi.c: Remove RCS ident string.
1774 * src/sparc/v8.S: Remove RCS ident string.
1775 * src/sparc/v9.S: Remove RCS ident string.
1776 * src/x86/ffi.c: Remove RCS ident string.
1777 * src/x86/sysv.S: Remove RCS ident string.
1778
8cb0f8ea 17792001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
1780
1781 * include/ffi.h.in: Change sourceware.cygnus.com references to
1782 gcc.gnu.org.
1783
18f704a9 17842000-12-09 Richard Henderson <rth@redhat.com>
1785
1786 * src/alpha/ffi.c (ffi_call): Simplify struct return test.
1787 (ffi_closure_osf_inner): Index rather than increment avalue
1788 and arg_types. Give ffi_closure_osf the raw return value type.
1789 * src/alpha/osf.S (ffi_closure_osf): Handle return value type
1790 promotion.
1791
17922000-12-07 Richard Henderson <rth@redhat.com>
fdf04128 1793
1794 * src/raw_api.c (ffi_translate_args): Fix typo.
1795 (ffi_prep_closure): Likewise.
1796
1797 * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
1798 FFI_TRAMPOLINE_SIZE.
1799 * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
1800 cif->bytes for new ffi_call_osf implementation.
1801 (ffi_prep_args): Absorb into ...
1802 (ffi_call): ... here. Do all stack allocation here and
1803 avoid a callback function.
1804 (ffi_prep_closure, ffi_closure_osf_inner): New.
1805 * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
1806 (ffi_closure_osf): New.
1807
652f285b 18082000-09-10 Alexandre Oliva <aoliva@redhat.com>
1809
4bfa769b 1810 * config.guess, config.sub, install-sh: Removed.
1811 * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
1812 * Makefile.in: Rebuilt.
1813
652f285b 1814 * acinclude.m4: Include libtool macros from the top level.
1815 * aclocal.m4, configure: Rebuilt.
1816
6f52caf7 18172000-08-22 Alexandre Oliva <aoliva@redhat.com>
1818
1819 * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
1820 * configure: Rebuilt.
1821
d03e800c 18222000-05-11 Scott Bambrough <scottb@netwinder.org>
1823
805e22b2 1824 * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
1825 memory correctly. Use conditional instructions, not branches where
d03e800c 1826 possible.
1827
f3e32e0b 18282000-05-04 Tom Tromey <tromey@cygnus.com>
1829
1830 * configure: Rebuilt.
1831 * configure.in: Match `arm*-*-linux-*'.
1832 From Chris Dornan <cdornan@arm.com>.
1833
b23e0d76 18342000-04-28 Jakub Jelinek <jakub@redhat.com>
1835
1836 * Makefile.am (SUBDIRS): Define.
1837 (AM_MAKEFLAGS): Likewise.
1838 (Multilib support.): Add section.
1839 * Makefile.in: Rebuilt.
1840 * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
968b0d1e 1841 New variables. Set for gcc using -print-multi-lib. Export them
1842 to libtool.
1843 (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
1844 * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
1845 for -shared links.
1846 (extra_compiler_flags_value, extra_compiler_flags): Check these
1847 for extra compiler options which need to be passed down in
1848 compiler_flags.
b23e0d76 1849
2c9b297c 18502000-04-16 Anthony Green <green@redhat.com>
1851
1852 * configure: Rebuilt.
1853 * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
1854
d7a35c6c 18552000-04-14 Jakub Jelinek <jakub@redhat.com>
1856
968b0d1e 1857 * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
d7a35c6c 1858 Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
1859 * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
1860 Replace all void * sizeofs with sizeof(int).
1861 Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
1862 different than DOUBLE.
1863 Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
1864 (ffi_prep_args_v9): New function.
1865 (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
1866 (ffi_V9_return_struct): New function.
1867 (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
1868 32bit code (not yet cross-arch calls).
1869 * src/sparc/v8.S: Add struct return delay nop.
1870 Handle long long.
1871 * src/sparc/v9.S: New file.
1872 * src/prep_cif.c (ffi_prep_cif): Return structure pointer
1873 is used on sparc64 only for structures larger than 32 bytes.
1874 Pass by reference for structures is done for structure arguments
1875 larger than 16 bytes.
1876 * src/ffitest.c (main): Use 64bit rint on sparc64.
1877 Run long long tests on sparc.
1878 * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
1879 sparc64.
1880 (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
1881 on sparc64.
1882 * configure.in (sparc-*-linux*): New supported target.
1883 (sparc64-*-linux*): Likewise.
1884 * configure: Rebuilt.
1885 * Makefile.am: Add v9.S to SPARC files.
1886 * Makefile.in: Likewise.
1887 (LINK): Surround $(CCLD) into double quotes, so that multilib
1888 compiles work correctly.
1889
800d12c7 18902000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
1891
1892 * configure: Rebuilt.
1893 * configure.in: (i*86-*-solaris*): New libffi target. Patch
1894 proposed by Bryce McKinlay.
1895
c44e8808 18962000-03-20 Tom Tromey <tromey@cygnus.com>
1897
1898 * Makefile.in: Hand edit for java_raw_api.lo.
1899
f764cb60 19002000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
1901
1902 * config.guess, config.sub: Update from the gcc tree.
1903 Fix for PR libgcj/168.
1904
3b43a26e 19052000-03-03 Tom Tromey <tromey@cygnus.com>
1906
96215ab3 1907 * Makefile.in: Fixed ia64 by hand.
1908
3b43a26e 1909 * configure: Rebuilt.
1910 * configure.in (--enable-multilib): New option.
1911 (libffi_basedir): New subst.
1912 (AC_OUTPUT): Added multilib code.
1913
03ae52bb 19142000-03-02 Tom Tromey <tromey@cygnus.com>
1915
1916 * Makefile.in: Rebuilt.
1917 * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
1918 directory name.
1919
28c07da5 19202000-02-25 Hans Boehm <boehm@acm.org>
1921
1922 * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
1923 files.
1924 * src/raw_api.c (ffi_translate_args): Fixed typo in argument
1925 list.
1926 (ffi_prep_raw_closure): Use ffi_translate_args, not
1927 ffi_closure_translate.
1928 * src/java_raw_api.c: New file.
1929 * src/ffitest.c (closure_test_fn): New function.
1930 (main): Define `rint' as long long on IA64. Added new test when
1931 FFI_CLOSURES is defined.
1932 * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
1933 (ffi_abi): Recognize IA64.
1934 (ffi_raw): Added `flt' field.
1935 Added "Java raw API" code.
1936 * configure.in: Recognize ia64.
1937 * Makefile.am (TARGET_SRC_IA64): New macro.
1938 (libffi_la_common_SOURCES): Added java_raw_api.c.
1939 (libffi_la_SOURCES): Define in IA64 case.
1940
0bcdf5c5 19412000-01-04 Tom Tromey <tromey@cygnus.com>
1942
1943 * Makefile.in: Rebuilt with newer automake.
1944
e9de8c8b 19451999-12-31 Tom Tromey <tromey@cygnus.com>
1946
1947 * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
1948
20e58c02 19491999-09-01 Tom Tromey <tromey@cygnus.com>
1950
1951 * include/ffi.h.in: Removed PACKAGE and VERSION defines and
1952 undefs.
1953 * fficonfig.h.in: Rebuilt.
1954 * configure: Rebuilt.
1955 * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
1956 Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
1957 * acconfig.h: Don't #undef PACKAGE or VERSION.
1958
47c5fab6 19591999-08-09 Anthony Green <green@cygnus.com>
1960
1961 * include/ffi.h.in: Try to work around messy header problem
1962 with PACKAGE and VERSION.
1963
1964 * configure: Rebuilt.
1965 * configure.in: Change version to 2.00-beta.
1966
968b0d1e 1967 * fficonfig.h.in: Rebuilt.
47c5fab6 1968 * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
1969
1970 * src/x86/ffi.c (ffi_raw_call): Rename.
1971
19721999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
1973
1974 * src/x86/ffi.c (ffi_closure_SYSV): New function.
1975 (ffi_prep_incoming_args_SYSV): Ditto.
1976 (ffi_prep_closure): Ditto.
1977 (ffi_closure_raw_SYSV): Ditto.
1978 (ffi_prep_raw_closure): More ditto.
1979 (ffi_call_raw): Final ditto.
1980
1981 * include/ffi.h.in: Add definitions for closure and raw API.
1982
1983 * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
805e22b2 1984 FFI_TYPE_UINT64.
47c5fab6 1985
1986 * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
1987
1988 * src/raw_api.c: New file.
1989
1990 * include/ffi.h.in (ffi_raw): New type.
1991 (UINT_ARG, SINT_ARG): New defines.
1992 (ffi_closure, ffi_raw_closure): New types.
1993 (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
805e22b2 1994
47c5fab6 1995 * configure.in: Add check for endianness and sizeof void*.
1996
1997 * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
1998 instead of directly.
1999
2000 * configure: Rebuilt.
2001
2002Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
2003
2004 * configure.in: Add x86 and powerpc BeOS configurations.
2005 From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
2006
20071999-05-09 Anthony Green <green@cygnus.com>
2008
2009 * configure.in: Add warning about this being beta code.
2010 Remove src/Makefile.am from the picture.
2011 * configure: Rebuilt.
2012
2013 * Makefile.am: Move logic from src/Makefile.am. Add changes
2014 to support libffi as a target library.
2015 * Makefile.in: Rebuilt.
2016
2017 * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
2018 Upgraded to new autoconf, automake, libtool.
2019
2020 * README: Tweaks.
2021
2022 * LICENSE: Update copyright date.
2023
2024 * src/Makefile.am, src/Makefile.in: Removed.
2025
20261998-11-29 Anthony Green <green@cygnus.com>
2027
2028 * include/ChangeLog: Removed.
2029 * src/ChangeLog: Removed.
2030 * src/mips/ChangeLog: Removed.
2031 * src/sparc/ChangeLog: Remboved.
2032 * src/x86/ChangeLog: Removed.
2033
2034 * ChangeLog.v1: Created.