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