]> git.ipfire.org Git - thirdparty/gcc.git/blame - libffi/ChangeLog
20070725-1.c: Split the spare field in two to avoid: error: width of 'spare' exceeds...
[thirdparty/gcc.git] / libffi / ChangeLog
CommitLineData
04a49983
RO
12007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2
3 * configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64.
4 * configure: Regenerate.
5
433e6a8c
DD
62007-07-11 David Daney <ddaney@avtrex.com>
7
8 * src/mips/ffi.c: Don't include sys/cachectl.h.
9 (ffi_prep_closure_loc): Use __builtin___clear_cache() instead of
10 cacheflush().
11
0959e2b8
AH
122007-05-18 Aurelien Jarno <aurelien@aurel32.net>
13
14 * src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted
15 from (ffi_prep_closure): ... this.
16 (FFI_INIT_TRAMPOLINE): Adjust.
17
182005-12-31 Phil Blundell <pb@reciva.com>
19
20 * src/arm/ffi.c (ffi_prep_incoming_args_SYSV,
21 ffi_closure_SYSV_inner, ffi_prep_closure): New, add closure support.
22 * src/arm/sysv.S(ffi_closure_SYSV): Likewise.
23 * src/arm/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
24 (FFI_CLOSURES): Enable closure support.
25
262007-07-03 Andrew Haley <aph@hedges.billgatliff.com>
27
28 * testsuite/libffi.call/cls_multi_ushort.c,
29 testsuite/libffi.call/cls_align_uint16.c,
30 testsuite/libffi.call/nested_struct1.c,
31 testsuite/libffi.call/nested_struct3.c,
32 testsuite/libffi.call/cls_7_1_byte.c,
33 testsuite/libffi.call/cls_double.c,
34 testsuite/libffi.call/nested_struct5.c,
35 testsuite/libffi.call/nested_struct7.c,
36 testsuite/libffi.call/cls_sint.c,
37 testsuite/libffi.call/nested_struct9.c,
38 testsuite/libffi.call/cls_20byte1.c,
39 testsuite/libffi.call/cls_multi_sshortchar.c,
40 testsuite/libffi.call/cls_align_sint64.c,
41 testsuite/libffi.call/cls_3byte2.c,
42 testsuite/libffi.call/cls_multi_schar.c,
43 testsuite/libffi.call/cls_multi_uchar.c,
44 testsuite/libffi.call/cls_19byte.c,
45 testsuite/libffi.call/cls_9byte1.c,
46 testsuite/libffi.call/cls_align_float.c,
47 testsuite/libffi.call/closure_fn1.c,
48 testsuite/libffi.call/problem1.c,
49 testsuite/libffi.call/closure_fn3.c,
50 testsuite/libffi.call/cls_sshort.c,
51 testsuite/libffi.call/closure_fn5.c,
52 testsuite/libffi.call/cls_align_double.c,
53 testsuite/libffi.call/cls_2byte.c,
54 testsuite/libffi.call/nested_struct.c,
55 testsuite/libffi.call/nested_struct10.c,
56 testsuite/libffi.call/cls_4byte.c,
57 testsuite/libffi.call/cls_6byte.c,
58 testsuite/libffi.call/cls_8byte.c,
59 testsuite/libffi.call/cls_multi_sshort.c,
60 testsuite/libffi.call/cls_align_uint32.c,
61 testsuite/libffi.call/cls_align_sint16.c,
62 testsuite/libffi.call/cls_float.c,
63 testsuite/libffi.call/cls_20byte.c,
64 testsuite/libffi.call/cls_5_1_byte.c,
65 testsuite/libffi.call/nested_struct2.c,
66 testsuite/libffi.call/cls_24byte.c,
67 testsuite/libffi.call/nested_struct4.c,
68 testsuite/libffi.call/nested_struct6.c,
69 testsuite/libffi.call/cls_64byte.c,
70 testsuite/libffi.call/nested_struct8.c,
71 testsuite/libffi.call/cls_uint.c,
72 testsuite/libffi.call/cls_multi_ushortchar.c,
73 testsuite/libffi.call/cls_schar.c,
74 testsuite/libffi.call/cls_uchar.c,
75 testsuite/libffi.call/cls_align_uint64.c,
76 testsuite/libffi.call/cls_ulonglong.c,
77 testsuite/libffi.call/cls_align_longdouble.c,
78 testsuite/libffi.call/cls_1_1byte.c,
79 testsuite/libffi.call/cls_12byte.c,
80 testsuite/libffi.call/cls_3_1byte.c,
81 testsuite/libffi.call/cls_3byte1.c,
82 testsuite/libffi.call/cls_4_1byte.c,
83 testsuite/libffi.call/cls_6_1_byte.c,
84 testsuite/libffi.call/cls_16byte.c,
85 testsuite/libffi.call/cls_18byte.c,
86 testsuite/libffi.call/closure_fn0.c,
87 testsuite/libffi.call/cls_9byte2.c,
88 testsuite/libffi.call/closure_fn2.c,
89 testsuite/libffi.call/closure_fn4.c,
90 testsuite/libffi.call/cls_ushort.c,
91 testsuite/libffi.call/closure_fn6.c,
92 testsuite/libffi.call/cls_5byte.c,
93 testsuite/libffi.call/cls_align_pointer.c,
94 testsuite/libffi.call/cls_7byte.c,
95 testsuite/libffi.call/cls_align_sint32.c,
96 testsuite/libffi.special/unwindtest_ffi_call.cc,
97 testsuite/libffi.special/unwindtest.cc: Enable for ARM.
98
12a27363
L
992007-07-05 H.J. Lu <hongjiu.lu@intel.com>
100
101 * aclocal.m4: Regenerated.
102
82a6cadf
PB
1032007-06-02 Paolo Bonzini <bonzini@gnu.org>
104
105 * configure: Regenerate.
106
1cf3d07d
SE
1072007-05-23 Steve Ellcey <sje@cup.hp.com>
108
109 * Makefile.in: Regenerate.
110 * configure: Regenerate.
111 * aclocal.m4: Regenerate.
112 * include/Makefile.in: Regenerate.
113 * testsuite/Makefile.in: Regenerate.
114
5635c26e
RZ
1152007-05-10 Roman Zippel <zippel@linux-m68k.org>
116
117 * src/m68k/ffi.c (ffi_prep_incoming_args_SYSV,
118 ffi_closure_SYSV_inner,ffi_prep_closure): New, add closure support.
119 * src/m68k/sysv.S(ffi_closure_SYSV,ffi_closure_struct_SYSV): Likewise.
120 * src/m68k/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
121 (FFI_CLOSURES): Enable closure support.
122
e6fbf387
RZ
1232007-05-10 Roman Zippel <zippel@linux-m68k.org>
124
125 * configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test.
126 * configure: Regenerate.
127 * fficonfig.h.in: Regenerate.
128 * src/m68k/sysv.S (CFI_STARTPROC,CFI_ENDPROC,
129 CFI_OFFSET,CFI_DEF_CFA): New macros.
130 (ffi_call_SYSV): Add callframe annotation.
131
b5296e52
RZ
1322007-05-10 Roman Zippel <zippel@linux-m68k.org>
133
134 * src/m68k/ffi.c (ffi_prep_args,ffi_prep_cif_machdep): Fix
135 numerous test suite failures.
136 * src/m68k/sysv.S (ffi_call_SYSV): Likewise.
137
bd61d708
PB
1382007-04-11 Paolo Bonzini <bonzini@gnu.org>
139
140 * Makefile.am (EXTRA_DIST): Bring up to date.
141 * Makefile.in: Regenerate.
142 * src/frv/eabi.S: Remove RCS keyword.
143
bf8da5fc
RH
1442007-04-06 Richard Henderson <rth@redhat.com>
145
146 * configure.ac: Tidy target case.
147 (HAVE_LONG_DOUBLE): Allow the target to override.
148 * configure: Regenerate.
149 * include/ffi.h.in: Don't define ffi_type_foo if
150 LIBFFI_HIDE_BASIC_TYPES is defined.
151 (ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
152 to ffi_type_double.
153 * types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
154 (FFI_TYPEDEF, ffi_type_void): Mark the data const.
155 (ffi_type_longdouble): Special case for Alpha. Don't define
156 if long double == double.
157
158 * src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
159 (ffi_prep_cif_machdep): Handle it as the 128-bit type.
160 (ffi_call, ffi_closure_osf_inner): Likewise.
161 (ffi_closure_osf_inner): Likewise. Mark hidden.
162 (ffi_call_osf, ffi_closure_osf): Mark hidden.
163 * src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
164 * src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
165 (load_table): Handle 128-bit long double.
166
167 * testsuite/libffi.call/float4.c: Add -mieee for alpha.
168
8669fed1
TT
1692007-04-06 Tom Tromey <tromey@redhat.com>
170
171 PR libffi/31491:
172 * README: Fixed bug in example.
173
f0920e6c
JJ
1742007-04-03 Jakub Jelinek <jakub@redhat.com>
175
176 * src/closures.c: Include sys/statfs.h.
177 (_GNU_SOURCE): Define on Linux.
178 (FFI_MMAP_EXEC_SELINUX): Define.
179 (selinux_enabled): New variable.
180 (selinux_enabled_check): New function.
181 (is_selinux_enabled): Define.
182 (dlmmap): Use it.
183
34a6ccda
UB
1842007-03-24 Uros Bizjak <ubizjak@gmail.com>
185
186 * testsuite/libffi.call/return_fl2.c (return_fl): Mark as static.
187 Use 'volatile float sum' to create sum of floats to avoid false
188 negative due to excess precision on ix86 targets.
189 (main): Ditto.
190
8b9cf39e
AO
1912007-03-08 Alexandre Oliva <aoliva@redhat.com>
192
193 * src/powerpc/ffi.c (flush_icache): Fix left-over from previous
194 patch.
195 (ffi_prep_closure_loc): Remove unneeded casts. Add needed ones.
196
18fa3240
AO
1972007-03-07 Alexandre Oliva <aoliva@redhat.com>
198
199 * include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
200 (ffi_prep_closure_loc): New.
201 (ffi_prep_raw_closure_loc): New.
202 (ffi_prep_java_raw_closure_loc): New.
203 * src/closures.c: New file.
204 * src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
205 Replace sflags with exec_offset.
206 [FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
207 sub_segment_exec_offset): New macros.
208 (get_segment_flags, set_segment_flags, check_segment_merge): New
209 macros.
210 (is_mmapped_segment, is_extern_segment): Use get_segment_flags.
211 (add_segment, sys_alloc, create_mspace, create_mspace_with_base,
212 destroy_mspace): Use new macros.
213 (sys_alloc): Silence warning.
214 * Makefile.am (libffi_la_SOURCES): Add src/closures.c.
215 * Makefile.in: Rebuilt.
216 * src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
217 terms of ffi_prep_closure_loc.
218 * src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
219 from...
220 (ffi_prep_raw_closure): ... this. Re-implement in terms of the
221 renamed version.
222 * src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
223 adjusted from...
224 (ffi_prep_java_raw_closure): ... this. Re-implement in terms of
225 the renamed version.
226 * src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
227 (ffi_prep_closure): ... this.
228 * src/pa/ffi.c: Likewise.
229 * src/cris/ffi.c: Likewise. Adjust.
230 * src/frv/ffi.c: Likewise.
231 * src/ia64/ffi.c: Likewise.
232 * src/mips/ffi.c: Likewise.
233 * src/powerpc/ffi_darwin.c: Likewise.
234 * src/s390/ffi.c: Likewise.
235 * src/sh/ffi.c: Likewise.
236 * src/sh64/ffi.c: Likewise.
237 * src/sparc/ffi.c: Likewise.
238 * src/x86/ffi64.c: Likewise.
239 * src/x86/ffi.c: Likewise.
240 (FFI_INIT_TRAMPOLINE): Adjust.
241 (ffi_prep_raw_closure_loc): Renamed and adjusted from...
242 (ffi_prep_raw_closure): ... this.
243 * src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
244 (ffi_prep_closure): ... this.
245 (flush_icache): Adjust.
246
dd778331
AO
2472007-03-07 Alexandre Oliva <aoliva@redhat.com>
248
249 * src/dlmalloc.c: New file, imported version 2.8.3 of Doug
250 Lea's malloc.
251
b5f8d49b
BM
2522007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
253
254 * Makefile.am: Add dummy install-pdf target.
255 * Makefile.in: Regenerate
256
7a23933b
AK
2572007-02-13 Andreas Krebbel <krebbel1@de.ibm.com>
258
259 * src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep,
260 ffi_closure_helper_SYSV): Add long double handling.
261
8aaf4681
JJ
2622007-02-02 Jakub Jelinek <jakub@redhat.com>
263
264 * src/powerpc/linux64.S (ffi_call_LINUX64): Move restore of r2
265 immediately after bctrl instruction.
266
0eb5e2b9
AO
2672007-01-18 Alexandre Oliva <aoliva@redhat.com>
268
269 * Makefile.am (all-recursive, install-recursive,
270 mostlyclean-recursive, clean-recursive, distclean-recursive,
271 maintainer-clean-recursive): Add missing targets.
272 * Makefile.in: Rebuilt.
273
f4f7486b
AT
2742006-12-14 Andreas Tobler <a.tobler@schweiz.org>
275
276 * configure.ac: Add TARGET for x86_64-*-darwin*.
277 * Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
278 for X86_DARWIN.
279 * src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
280 * src/x86/darwin64.S: New file for x86_64-*-darwin* support.
281 * configure: Regenerate.
282 * Makefile.in: Regenerate.
283 * include/Makefile.in: Regenerate.
284 * testsuite/Makefile.in: Regenerate.
285 * testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
286 ffi_call only.
287
3d5eafe2
AT
2882006-12-13 Andreas Tobler <a.tobler@schweiz.org>
289
290 * aclocal.m4: Regenerate with aclocal -I .. as written in the
291 Makefile.am.
292
d5523ce1 2932006-10-31 Geoffrey Keating <geoffk@apple.com>
58182de3
GK
294
295 * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
296 (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
297 Darwin.
298 * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
299 * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
300
a3bd50cc
PB
3012006-10-10 Paolo Bonzini <bonzini@gnu.org>
302 Sandro Tolaini <tolaini@libero.it>
303
304 * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
305 conditional.
306 * configure: Regenerated.
307 * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
308 (EXTRA_DIST): Add src/x86/darwin.S.
309 * Makefile.in: Regenerated.
310 * include/Makefile.in: Regenerated.
311 * testsuite/Makefile.in: Regenerated.
312
313 * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
314 X86_WIN32, and additionally align stack to 16 bytes.
315 * src/x86/darwin.S: New, based on sysv.S.
316 * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
317
b095810f
DD
3182006-09-12 David Daney <ddaney@avtrex.com>
319
320 PR libffi/23935
321 * include/Makefile.am: Install both ffi.h and ffitarget.h in
322 $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
323 * aclocal.m4: Regenerated for automake 1.9.6.
324 * Makefile.in: Regenerated.
325 * include/Makefile.in: Regenerated.
326 * testsuite/Makefile.in: Regenerated.
327
110b2db4
AT
3282006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
329
330 * include/ffi_common.h (struct): Revert accidental commit.
331
8e5fde87
AT
3322006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
333
334 * include/ffi_common.h: Remove lint directives.
335 * include/ffi.h.in: Likewise.
336
cb4132fe
TS
3372006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
338
339 * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
340 for 32-bit architectures.
341 * testsuite/libffi.call/return_ul.c: New test case.
342
0d24c3fa
DD
3432006-07-19 David Daney <ddaney@avtrex.com>
344
345 * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
346 xfail remains for mips64.
347
8665824c
CD
3482006-05-23 Carlos O'Donell <carlos@codesourcery.com>
349
350 * Makefile.am: Add install-html target. Add install-html to .PHONY
351 * Makefile.in: Regenerate.
352 * aclocal.m4: Regenerate.
353 * include/Makefile.in: Regenerate.
354 * testsuite/Makefile.in: Regenerate.
355
84e2e370
JDA
3562006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
357
358 * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
359 stack slot.
360
ac6ed182
AT
3612006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
362
363 * README: Remove notice about 'Crazy Comments'.
364 * src/debug.c: Remove lint directives. Cleanup white spaces.
365 * src/java_raw_api.c: Likewise.
366 * src/prep_cif.c: Likewise.
367 * src/raw_api.c: Likewise.
368 * src/ffitest.c: Delete. No longer needed, all test cases migrated
369 to the testsuite.
370 * src/arm/ffi.c: Remove lint directives.
371 * src/m32r/ffi.c: Likewise.
372 * src/pa/ffi.c: Likewise.
373 * src/powerpc/ffi.c: Likewise.
374 * src/powerpc/ffi_darwin.c: Likewise.
375 * src/sh/ffi.c: Likewise.
376 * src/sh64/ffi.c: Likewise.
377 * src/x86/ffi.c: Likewise.
378 * testsuite/libffi.call/float2.c: Likewise.
379 * testsuite/libffi.call/promotion.c: Likewise.
380 * testsuite/libffi.call/struct1.c: Likewise.
381
b7211585
AT
3822006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
383
384 * src/pa/hpux32.S: Correct unwind offset calculation for
385 ffi_closure_pa32.
386 * src/pa/linux.S: Likewise.
387
86066f9b
JW
3882006-04-12 James E Wilson <wilson@specifix.com>
389
390 PR libgcj/26483
391 * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
392 (hfa_type_load): Call stf_spill.
393 (hfa_type_store): Call ldf_fill.
394 (ffi_call): Adjust calls to above routines. Add local temps for
395 macro result.
b7211585 396
615baed7
MK
3972006-04-10 Matthias Klose <doko@debian.org>
398
399 * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
400 directory names containing underscores.
401
8e7a2b58
JW
4022006-04-07 James E Wilson <wilson@specifix.com>
403
404 * testsuite/libffi.call/float4.c: New testcase.
405
e6c300ef
JDA
4062006-04-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
407 Andreas Tobler <a.tobler@schweiz.ch>
408
409 * Makefile.am: Add PA_HPUX port.
410 * Makefile.in: Regenerate.
411 * include/Makefile.in: Likewise.
412 * testsuite/Makefile.in: Likewise.
413 * configure.ac: Add PA_HPUX rules.
414 * configure: Regenerate.
415 * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
416 Add PA_HPUX and PA64_HPUX.
417 Rename FFI_LINUX ABI to FFI_PA32 ABI.
418 (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
419 (FFI_TYPE_SMALL_STRUCT2): Define.
420 (FFI_TYPE_SMALL_STRUCT4): Likewise.
421 (FFI_TYPE_SMALL_STRUCT8): Likewise.
422 (FFI_TYPE_SMALL_STRUCT3): Redefine.
423 (FFI_TYPE_SMALL_STRUCT5): Likewise.
424 (FFI_TYPE_SMALL_STRUCT6): Likewise.
425 (FFI_TYPE_SMALL_STRUCT7): Likewise.
426 * src/pa/ffi.c (ROUND_DOWN): Delete.
427 (fldw, fstw, fldd, fstd): Use '__asm__'.
428 (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
429 FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
430 (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
431 Simplify incrementing of stack slot variable. Change type of local
432 'n' to unsigned int.
433 (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
434 double on PA_HPUX.
435 (ffi_prep_cif_machdep): Likewise.
436 (ffi_call): Likewise.
437 (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
438 return type to ffi_status. Simplify incrementing of stack slot
439 variable. Only copy floating point argument registers when PA_LINUX
440 is true. Reformat debug statement.
441 Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
442 FFI_TYPE_SMALL_STRUCT8.
443 (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
444 declaration.
445 (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
446 Add nops to cache flush. Add trampoline for PA_HPUX.
447 * src/pa/hpux32.S: New file.
448 * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
449 ffi_prep_args_LINUX to ffi_prep_args_pa32.
450 Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
451 unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
452 argument type checks so that common argument types appear first.
453 (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
454 ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
455
75b8b1be
AM
4562006-03-24 Alan Modra <amodra@bigpond.net.au>
457
458 * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
459 for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
460 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
461 FFI_TYPE_LONGDOUBLE.
462 (ffi_prep_args64): Assert using IBM extended double.
463 (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
464 Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
465 (ffi_call): Handle FFI_LINUX.
466 (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
467 gpr3 return pointer as for struct return. Handle FFI_LINUX
468 FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
469 unnecessarily.
470 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
471 for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
472 Don't use r6 as pointer to results, instead use sp offset. Don't
473 make a special call to load lr with case table address, instead
474 use offset from previous call.
475 * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
476 * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
477 return.
478
697701ad
KK
4792006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
480
481 * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
482 passed with FP registers correctly.
483 (ffi_closure_helper_SYSV): Likewise.
484 * src/sh64/sysv.S: Likewise.
485
b295c471
AT
4862006-03-01 Andreas Tobler <a.tobler@schweiz.ch>
487
488 * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
489 args and userdata unused.
490 (closure_test_fn1): Mark cif and userdata unused.
491 (main): Remove unused res.
492
9fdeb13b
AT
4932006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
494
495 * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
496 -O2, -O3, -Os and the warning flags -W -Wall.
497 * testsuite/libffi.special/special.exp: Likewise.
498 * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
499 unused parameter unused for gcc or else do nothing.
500 * testsuite/libffi.special/ffitestcxx.h: Likewise.
501 * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
502 and userdata unused.
503 * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
504 * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
505 * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
506 * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
507 * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
508 * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
509 * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
510 * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
511 * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
512 * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
513 * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
514 * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
515 * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
516 * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
517 * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
518 * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
519 * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
520 * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
521 * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
522 * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
523 * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
524 * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
525 * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
526 * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
527 Likewise.
528 * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
529 Likewise.
530 * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
531 Likewise.
532 * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
533 void* to avoid compiler warning.
534 (main): Likewise.
535 (cls_struct_align_gn): Mark cif and userdata unused.
536 * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
537 Likewise.
538 * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
539 Likewise.
540 * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
541 Likewise.
542 * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
543 Likewise.
544 * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
545 Likewise.
546 * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
547 * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
548 * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
549 data unused.
550 (main): Cast res_call to silence gcc.
551 * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
552 data unused.
553 (main): Cast res_call to silence gcc.
554 * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
555 and data unused.
556 (main): Cast res_call to silence gcc.
557 * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
558 data unused.
559 (main): Cast res_call to silence gcc.
560 * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
561 data unused.
562 (main): Cast res_call to silence gcc.
563 * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
564 and data unused.
565 (main): Cast res_call to silence gcc.
566 * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
567 userdata unused.
568 (cls_ret_schar_fn): Cast printf parameter to silence gcc.
569 * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
570 userdata unused.
571 (cls_ret_sint_fn): Cast printf parameter to silence gcc.
572 * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
573 userdata unused.
574 (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
575 * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
576 userdata unused.
577 (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
578 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
579 userdata unused.
580 (cls_ret_uint_fn): Cast printf parameter to silence gcc.
581 * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
582 and userdata unused.
583 * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
584 userdata unused.
585 (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
586 * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
587 * testsuite/libffi.call/float1.c (main): Remove unused variable i.
588 Cleanup white spaces.
589 * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
590 * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
591 cif and userdata unused.
592 * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
593 Likewise.
594 * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
595 * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
596 formatters to silence gcc.
597 (B_gn): Mark cif and userdata unused.
598 * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
599 unused.
600 * testsuite/libffi.call/nested_struct4.c: Mention related PR.
601 (B_gn): Mark cif and userdata unused.
602 * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
603 unused.
604 * testsuite/libffi.call/nested_struct6.c: Mention related PR.
605 (B_gn): Mark cif and userdata unused.
606 * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
607 unused.
608 * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
609 * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
610 * testsuite/libffi.call/problem1.c (stub): Likewise.
611 * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
612 gcc.
613 * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
614 in the last commit for this test case in the test case itself.
615 * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
616 unused.
617 * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
618 * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
619 * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
620 * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
621 * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
622 * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
623
0a4e2bb5
KK
6242006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
625
626 * src/sh/sysv.S: Fix register numbers in the FDE for
627 ffi_closure_SYSV.
628
723e5d5a
AT
6292006-02-20 Andreas Tobler <a.tobler@schweiz.ch>
630
631 * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
632 declaration to avoid a false negative on ix86. See PR323.
633
e097f887
KK
6342006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
635
636 * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
637 and cast integer to void * if needed. Update the pointer to
638 the FP register saved area correctly.
639
1a4878f7
AT
6402006-02-17 Andreas Tobler <a.tobler@schweiz.ch>
641
642 * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
643 is fixed.
644 * testsuite/libffi.call/nested_struct4.c: Likewise.
645
b47b5e08
AT
6462006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
647
6429d58f
AT
648 * testsuite/libffi.call/return_dbl.c: New test case.
649 * testsuite/libffi.call/return_dbl1.c: Likewise.
650 * testsuite/libffi.call/return_dbl2.c: Likewise.
651 * testsuite/libffi.call/return_fl.c: Likewise.
652 * testsuite/libffi.call/return_fl1.c: Likewise.
653 * testsuite/libffi.call/return_fl2.c: Likewise.
654 * testsuite/libffi.call/return_fl3.c: Likewise.
655 * testsuite/libffi.call/closure_fn6.c: Likewise.
656
b47b5e08
AT
657 * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
658 definition.
659 * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
660 here to be used by other test cases too.
661
662 * testsuite/libffi.call/nested_struct10.c: New test case.
663 * testsuite/libffi.call/nested_struct9.c: Likewise.
664 * testsuite/libffi.call/nested_struct8.c: Likewise.
665 * testsuite/libffi.call/nested_struct7.c: Likewise.
666 * testsuite/libffi.call/nested_struct6.c: Likewise.
667 * testsuite/libffi.call/nested_struct5.c: Likewise.
668 * testsuite/libffi.call/nested_struct4.c: Likewise.
669
9abe31d4
AT
6702006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
671
672 * configure.ac: Enable libffi for sparc64-*-freebsd*.
673 * configure: Rebuilt.
674
71aa1a70
JJ
6752006-01-18 Jakub Jelinek <jakub@redhat.com>
676
677 * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
678 instead do the shifting inline.
679 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
680 shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
681 and 8 byte structs, for the remaining struct sizes don't call
682 __lshrdi3, instead do the shifting inline.
683
8a39029d
TS
6842005-12-07 Thiemo Seufer <ths@networkno.de>
685
686 * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
687 missing parentheses.
688 * src/mips/o32.S (ffi_call_O32): Code formatting. Define
689 and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
690 (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
691 A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
692 V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
693 FA_0_0_OFF2.
694 * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
695 endianness bugs.
696 (ffi_prep_closure): Improve trampoline instruction scheduling.
697 (ffi_closure_mips_inner_O32): Fix endianness bugs.
698
cd4241aa
AM
6992005-12-03 Alan Modra <amodra@bigpond.net.au>
700
701 * src/powerpc/ffi.c: Formatting.
702 (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
703 (ffi_prep_args64): Likewise.
704
0363db46
GK
7052005-09-30 Geoffrey Keating <geoffk@apple.com>
706
707 * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
708 darwin, use -shared-libgcc not -lgcc_s, and explain why.
709
d674eb2f
TT
7102005-09-26 Tom Tromey <tromey@redhat.com>
711
712 * testsuite/libffi.call/float1.c (value_type): New typedef.
713 (CANARY): New define.
714 (main): Check for result buffer overflow.
715 * src/powerpc/linux64.S: Handle linux64 long double returns.
716 * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
717 (ffi_prep_cif_machdep): Handle linux64 long double returns.
718
2d9c5743
AM
7192005-08-25 Alan Modra <amodra@bigpond.net.au>
720
721 PR target/23404
722 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
723 homed fp args.
724 (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
725
8a42356f
JJ
7262005-08-11 Jakub Jelinek <jakub@redhat.com>
727
728 * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
729 (AH_BOTTOM): Add FFI_HIDDEN definition.
730 * configure: Rebuilt.
731 * fficonfig.h.in: Rebuilt.
732 * src/powerpc/ffi.c (hidden): Remove.
733 (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
734 ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
735 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
736 .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
737 * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
738 add FFI_HIDDEN to its prototype.
739 (ffi_closure_SYSV_inner): New.
740 * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
741 * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
742
863c5508
AS
7432005-08-10 Alfred M. Szmidt <ams@gnu.org>
744
745 PR libffi/21819:
746 * configure: Rebuilt.
747 * configure.ac: Handle i*86-*-gnu*.
748
6a26ea58
JJ
7492005-08-09 Jakub Jelinek <jakub@redhat.com>
750
751 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
752 DW_CFA_offset_extended_sf rather than
753 DW_CFA_GNU_negative_offset_extended.
754 * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
755
583a92e8
ST
7562005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
757
758 * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
759 on sh3.
760 (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
761 * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
762 partially on register.
763 (ffi_closure_helper_SYSV): Likewise.
764 (ffi_prep_cif_machdep): Don't set too many cif->flags.
765
5d0317fc
KK
7662005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
767
768 * src/sh/ffi.c (ffi_call): Handle small structures correctly.
769 Remove empty line.
770 * src/sh64/ffi.c (simple_type): Remove.
771 (return_type): Handle small structures correctly.
772 (ffi_prep_args): Likewise.
773 (ffi_call): Likewise.
774 (ffi_closure_helper_SYSV): Likewise.
775 * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
776 Emit position independent code if PIC and remove wrong datalabel
777 prefixes from EH data.
778
8d9fd5f5
AT
7792005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
780
781 * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
782 * Makefile.in: Regenerate.
783 * include/Makefile.in: Likewise.
784 * testsuite/Makefile.in: Likewise.
785 * configure.ac: Add POWERPC_FREEBSD rules.
786 * configure: Regenerate.
787 * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
788 (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
789 * src/powerpc/ffi.c: Add flags to handle small structure returns
790 in ffi_call_SYSV.
791 (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
792 Aka FFI_SYSV.
793 (ffi_closure_helper_SYSV): Likewise.
794 * src/powerpc/ppc_closure.S: Add return types for small structures.
795 * src/powerpc/sysv.S: Add bits to handle small structures for
796 final SYSV 4 ABI.
797
93c76f81
AT
7982005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
799
800 * testsuite/libffi.call/cls_5_1_byte.c: New test file.
801 * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
802 * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
803
b65da304
RC
8042005-07-05 Randolph Chung <tausq@debian.org>
805
806 * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
807 as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
808 structures. Kill compilation warnings.
809 (ffi_closure_inner_LINUX): Print return values as hex in debug
810 message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
811 Properly handle 5-7 byte structure returns.
812 * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
813 (FFI_TYPE_SMALL_STRUCT2): Remove.
814 (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
815 (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
816 * src/pa/linux.S: Mark source file as using PA1.1 assembly.
817 (checksmst1, checksmst2): Remove.
818 (checksmst3): Optimize handling of 3-byte struct returns.
819 (checksmst567): Properly handle 5-7 byte struct returns.
820
2572f1c6
RO
8212005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
822
823 PR libgcj/21943
824 * src/mips/n32.S: Enforce PIC code.
825 * src/mips/o32.S: Likewise.
826
cc786582
RO
8272005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
828
829 * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
830 * configure: Regenerate.
831
6d0d376c
AM
8322005-06-01 Alan Modra <amodra@bigpond.net.au>
833
834 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
835 to call ffi_closure_helper_SYSV. Append @local instead.
836 * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
837
a21946f5 8382005-05-17 Kelley Cook <kcook@gcc.gnu.org>
a097ef55
KC
839
840 * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
841 Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
842 * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
843 * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
844 include/Makefile.in, testsuite/Makefile.in: Regenerate.
845
f4c767fd
MS
8462005-05-09 Mike Stump <mrs@apple.com>
847
848 * configure: Regenerate.
849
7e15b5fe
RH
8502005-05-08 Richard Henderson <rth@redhat.com>
851
852 PR libffi/21285
853 * src/alpha/osf.S: Update unwind into to match code.
854
d56ea8d9
RH
8552005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
856 Richard Henderson <rth@redhat.com>
857
858 * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
859 bit 11 of flags.
860 (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
861 (ffi_prep_closure): Set carry bit if sse-used flag set.
862 * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
863 Only load sse registers if ssecount non-zero.
864 (ffi_closure_unix64): Only save sse registers if carry set on entry.
865
8662005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
d948c201
RC
867
868 * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
869 powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
870 * configure: Regenerate.
871
fc0ad8d9
HPN
8722005-04-20 Hans-Peter Nilsson <hp@axis.com>
873
874 * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
875 have Tcl8.3-compatible intermediate variable.
876
614348bb
SP
8772005-04-18 Simon Posnjak <simon.posnjak@siol.net>
878 Hans-Peter Nilsson <hp@axis.com>
879
880 * Makefile.am: Add CRIS support.
881 * configure.ac: Likewise.
29ede6db
HPN
882 * Makefile.in, configure, testsuite/Makefile.in,
883 include/Makefile.in: Regenerate.
614348bb
SP
884 * src/cris: New directory.
885 * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
886 * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
727e729b
HPN
887
888 * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
889 \r?\n in output tests.
890
6dab073b
MS
8912005-04-12 Mike Stump <mrs@apple.com>
892
893 * configure: Regenerate.
894
51f55d7c
HB
8952005-03-30 Hans Boehm <Hans.Boehm@hp.com>
896
897 * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
898
7efa52a3
SE
8992005-03-30 Steve Ellcey <sje@cup.hp.com>
900
901 * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
902 (ffi_sarg) Ditto.
903 * src/ia64/unix.S (ffi_closure_unix): Extend gp
904 to 64 bits in ILP32 mode.
905 Load 64 bits even for short data.
906
1488177a
MS
9072005-03-23 Mike Stump <mrs@apple.com>
908
909 * src/powerpc/darwin.S: Update for -m64 multilib.
910 * src/powerpc/darwin_closure.S: Likewise.
911
c6900272
ZW
9122005-03-21 Zack Weinberg <zack@codesourcery.com>
913
914 * configure.ac: Do not invoke TL_AC_GCC_VERSION.
915 Do not set tool_include_dir.
916 * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
917 Regenerate.
918 * include/Makefile.am: Set gcc_version and toollibffidir.
919 * include/Makefile.in: Regenerate.
920
962eea0a
AH
9212005-02-22 Andrew Haley <aph@redhat.com>
922
923 * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
924 odd-numbered register pairs for 64-bit integer types.
925
1b05e8bf
AT
9262005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
927
928 PR libffi/20104
929 * testsuite/libffi.call/return_ll1.c: New test case.
930
6027770b
JJ
9312005-02-11 Janis Johnson <janis187@us.ibm.com>
932
933 * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
934 * testsuite/libffi.call/float.c: Ditto.
935 * testsuite/libffi.call/float2.c: Ditto.
936 * testsuite/libffi.call/float3.c: Ditto.
937
ee31ea68
AT
9382005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
939
940 * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
941
c16be7d5
EB
9422005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
943
944 * testsuite/libffi.special/special.exp (cxx_options): Add
945 -shared-libgcc.
946
5df07255
RH
9472004-12-31 Richard Henderson <rth@redhat.com>
948
949 * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
950 (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
951 offset parameters with a type parameter; deduce size and structure
952 alignment. Update all users.
953
81a69b13
RH
9542004-12-31 Richard Henderson <rth@redhat.com>
955
956 * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
957 (FFI_TYPE_LONGDOUBLE): Fix for ia64.
c6900272 958 * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
81a69b13
RH
959 into ffi_prep_closure.
960 * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
961 from scratch.
962
d833cfb0
RH
9632004-12-27 Richard Henderson <rth@redhat.com>
964
965 * src/x86/unix64.S: Fix typo in unwind info.
966
1a0f488c
RH
9672004-12-25 Richard Henderson <rth@redhat.com>
968
969 * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
970 (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
971 (merge_classes): Check for it.
972 (SSE_CLASS_P): New.
973 (classify_argument): Pass byte_offset by value; perform all updates
974 inside struct case.
975 (examine_argument): Add classes argument; handle
976 X86_64_COMPLEX_X87_CLASS.
977 (ffi_prep_args): Merge into ...
978 (ffi_call): ... here. Share stack frame with ffi_call_unix64.
979 (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
980 (ffi_fill_return_value): Remove.
981 (ffi_prep_closure): Remove dead assert.
982 (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
983 Rewrite to use struct register_args instead of va_list. Create
984 flags for handling structure returns.
985 * src/x86/unix64.S: Remove dead strings.
986 (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
987 stack frame with ffi_call. Handle structure returns properly.
988 (float2sse, floatfloat2sse, double2sse): Remove.
989 (sse2float, sse2double, sse2floatfloat): Remove.
990 (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
991 to handle structure returns properly.
992
7994d50c
DE
9932004-12-08 David Edelsohn <edelsohn@gnu.org>
994
995 * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
996 PICFLAG.
997 * Makefile.in: Regenerated.
998
afabd8e6
RS
9992004-12-02 Richard Sandiford <rsandifo@redhat.com>
1000
1001 * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
1002 * configure, aclocal.m4, Makefile.in: Regenerate.
1003 * include/Makefile.in, testsuite/Makefile.in: Regenerate.
1004
2539bffe
KC
10052004-11-29 Kelley Cook <kcook@gcc.gnu.org>
1006
1007 * configure: Regenerate for libtool change.
1008
767f726e
KC
10092004-11-25 Kelley Cook <kcook@gcc.gnu.org>
1010
1011 * configure: Regenerate for libtool reversion.
1012
2c92e90f
KC
10132004-11-24 Kelley Cook <kcook@gcc.gnu.org>
1014
1015 * configure: Regenerate for libtool change.
1016
1df8e834
JDA
10172004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1018
1019 * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
1020
10212004-11-23 Richard Sandiford <rsandifo@redhat.com>
1022
1023 * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
1024 of jal. Use an absolute encoding for the frame information.
1025
10262004-11-23 Kelley Cook <kcook@gcc.gnu.org>
1027
1028 * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
1029 * acinclude.m4: Delete logic for sincludes.
1030 * aclocal.m4, Makefile.in, configure: Regenerate.
1031 * include/Makefile: Likewise.
1032 * testsuite/Makefile: Likewise.
1033
bf02e7fa
EB
10342004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
1035
1036 * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
1037 on a 8-byte boundary.
1038 * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
1039
f20459f1
RE
10402004-10-27 Richard Earnshaw <rearnsha@arm.com>
1041
1042 * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
1043 long long values. Round stack allocation to a multiple of 8 bytes
1044 for ATPCS compatibility.
1045 * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
1046 names. Handle returning long long types. Add Thumb and interworking
1047 support. Improve soft-float code.
1048
fdc69597
RE
10492004-10-27 Richard Earnshaw <rearnsha@arm.com>
1050
1051 * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
1052 (libffi_exit): New function.
1053 (libffi_init): Build the testglue wrapper if needed.
1054
1e02510f
EB
10552004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
1056
1057 PR other/18138
1058 * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
1059
d9a193b2
KI
10602004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1061
1062 * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
1063
1fddb058
KK
10642004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
1065
1066 * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
1067 * testsuite/libffi.call/float3.c: New test case.
1068
e0d3b452
KK
10692004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
1070
1071 * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
1072 the function returning a structure pointed with R2.
1073 * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
1074 the structure return value if T bit set. Emit position
1075 independent code and EH data if PIC.
1076
a472e9d4
KI
10772004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
1078
1079 * Makefile.am: Add m32r support.
1080 * configure.ac: Likewise.
1081 * Makefile.in: Regenerate.
1082 * confiugre: Regenerate.
1083 * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
1084 (uint64, sint64, double, longdouble)
1085 * src/m32r: New directory.
1086 * src/m32r/ffi.c: New file.
1087 * src/m32r/sysv.S: Likewise.
1088 * src/m32r/ffitarget.h: Likewise.
1089
3d47e9ca
KK
10902004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
1091
1092 * testsuite/libffi.call/negint.c: New test case.
1093
fc9051dd
L
10942004-09-14 H.J. Lu <hongjiu.lu@intel.com>
1095
1096 PR libgcj/17465
1097 * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
1098 Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
1099 LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
1100 DYLD_LIBRARY_PATH.
1101
2010caea
AT
11022004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
1103
1104 * testsuite/libffi.call/many_win32.c: Remove whitespaces.
1105 * testsuite/libffi.call/promotion.c: Likewise.
1106 * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
1107 whitespaces.
1108 * testsuite/libffi.call/return_sc.c: Likewise.
1109 * testsuite/libffi.call/return_uc.c: Likewise.
1110
894be816
AT
11112004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
1112
1113 * src/powerpc/darwin.S: Fix comments and identation.
1114 * src/powerpc/darwin_closure.S: Likewise.
1115
2fe7404a
AT
11162004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
1117
1118 * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
1119 (ffi_prep_args): Handle longdouble arguments.
1120 (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
1121 longdouble.
1122 (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
1123 * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
1124 values.
1125 * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
1126 * src/types.c: Defined longdouble size and alignment for darwin.
1127
16070e45
AT
11282004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
1129
1130 * src/powerpc/aix.S: Remove whitespaces.
1131 * src/powerpc/aix_closure.S: Likewise.
1132 * src/powerpc/asm.h: Likewise.
1133 * src/powerpc/ffi.c: Likewise.
1134 * src/powerpc/ffitarget.h: Likewise.
1135 * src/powerpc/linux64.S: Likewise.
1136 * src/powerpc/linux64_closure.S: Likewise.
1137 * src/powerpc/ppc_closure.S: Likewise.
1138 * src/powerpc/sysv.S: Likewise.
1139
88d8c771
AG
11402004-08-30 Anthony Green <green@redhat.com>
1141
1142 * Makefile.am: Add frv support.
1143 * Makefile.in, testsuite/Makefile.in: Rebuilt.
1144 * configure.ac: Read configure.host.
1145 * configure.in: Read configure.host.
1146 * configure.host: New file. frv-elf needs libgloss.
1147 * include/ffi.h.in: Force ffi_closure to have a nice big (8)
a23adb4d 1148 alignment. This is needed to frv and shouldn't harm the others.
88d8c771
AG
1149 * include/ffi_common.h (ALIGN_DOWN): New macro.
1150 * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
1151
4c5f37d5
DD
11522004-08-24 David Daney <daney@avtrex.com>
1153
1154 * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
1155 * testsuite/libffi.call/closure_fn1.c: Likewise.
1156 * testsuite/libffi.call/closure_fn2.c Likewise.
1157 * testsuite/libffi.call/closure_fn3.c: Likewise.
1158 * testsuite/libffi.call/closure_fn4.c: Likewise.
1159 * testsuite/libffi.call/closure_fn5.c: Likewise.
1160 * testsuite/libffi.call/cls_18byte.c: Likewise.
1161 * testsuite/libffi.call/cls_19byte.c: Likewise.
1162 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
1163 * testsuite/libffi.call/cls_20byte.c: Likewise.
1164 * testsuite/libffi.call/cls_20byte1.c: Likewise.
1165 * testsuite/libffi.call/cls_24byte.c: Likewise.
1166 * testsuite/libffi.call/cls_2byte.c: Likewise.
1167 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
1168 * testsuite/libffi.call/cls_3byte1.c: Likewise.
1169 * testsuite/libffi.call/cls_3byte2.c: Likewise.
1170 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
1171 * testsuite/libffi.call/cls_4byte.c: Likewise.
1172 * testsuite/libffi.call/cls_64byte.c: Likewise.
1173 * testsuite/libffi.call/cls_6byte.c: Likewise.
1174 * testsuite/libffi.call/cls_7byte.c: Likewise.
1175 * testsuite/libffi.call/cls_8byte.c: Likewise.
1176 * testsuite/libffi.call/cls_9byte1.c: Likewise.
1177 * testsuite/libffi.call/cls_9byte2.c: Likewise.
1178 * testsuite/libffi.call/cls_align_double.c: Likewise.
1179 * testsuite/libffi.call/cls_align_float.c: Likewise.
1180 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
1181 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
1182 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
1183 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
1184 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
1185 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
1186 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
1187 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
1188 * testsuite/libffi.call/cls_double.c: Likewise.
1189 * testsuite/libffi.call/cls_float.c: Likewise.
1190 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
1191 * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
1192 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
1193 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
1194 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
1195 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
1196 * testsuite/libffi.call/cls_schar.c: Likewise.
1197 * testsuite/libffi.call/cls_sint.c: Likewise.
1198 * testsuite/libffi.call/cls_sshort.c: Likewise.
1199 * testsuite/libffi.call/cls_uchar.c: Likewise.
1200 * testsuite/libffi.call/cls_uint.c: Likewise.
1201 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
1202 * testsuite/libffi.call/cls_ushort.c: Likewise.
1203 * testsuite/libffi.call/nested_struct.c: Likewise.
1204 * testsuite/libffi.call/nested_struct1.c: Likewise.
1205 * testsuite/libffi.call/nested_struct2.c: Likewise.
1206 * testsuite/libffi.call/nested_struct3.c: Likewise.
1207 * testsuite/libffi.call/problem1.c: Likewise.
1208 * testsuite/libffi.special/unwindtest.cc: Likewise.
1209 * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
1210 to zero.
1211 * testsuite/libffi.call/cls_16byte.c: Likewise.
1212 * testsuite/libffi.call/cls_5byte.c: Likewise.
1213
39dca114
DD
12142004-08-23 David Daney <daney@avtrex.com>
1215
1216 PR libgcj/13141
1217 * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
1218 * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
1219 (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
1220 parameters and return types.
1221 (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
1222 (ffi_prep_closure): Ditto.
1223 (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
1224 alignment calculations.
1225 * src/mips/o32.S (ffi_closure_O32): Don't use floating point
1226 instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
1227
b790003a
CM
12282004-08-14 Casey Marshall <csm@gnu.org>
1229
1230 * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
1231 contain `FFI_TYPE_UINT64' as return type for any 64-bit
1232 integer (O32 ABI only).
1233 (ffi_prep_closure): new function.
1234 (ffi_closure_mips_inner_O32): new function.
c6900272 1235 * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
b790003a
CM
1236 `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
1237 * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
1238 64 bit integers correctly.
1239 (ffi_closure_O32): new function.
1240 Added DWARF-2 unwind info for both functions.
1241
547d71a1
AH
12422004-08-10 Andrew Haley <aph@redhat.com>
1243
1244 * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
1245
98a5bb3b
RM
12462004-08-01 Robert Millan <robertmh@gnu.org>
1247
1248 * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
1249 * configure: Regenerate.
1250
4d447364
MR
12512004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
1252
1253 * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
1254 and mmap() explicitly instead of relying on preset autoconf cache
1255 variables.
1256 * aclocal.m4: Regenerate.
1257 * configure: Regenerate.
1258
e5dce82f
UW
12592004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
1260
1261 * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
1262 (ffi_check_float_struct): Remove unused prototype.
1263
e6a0022b
GK
12642004-06-30 Geoffrey Keating <geoffk@apple.com>
1265
1266 * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
1267 character on Darwin, use '\n\t' instead.
1268
5a2d52ca
MK
12692004-06-26 Matthias Klose <doko@debian.org>
1270
1271 * libtool-version: Fix typo in revision/age.
1272
401844ef
MK
12732004-06-17 Matthias Klose <doko@debian.org>
1274
1275 * libtool-version: New.
1276 * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
1277 * Makefile.in: Regenerate.
1278
94632047 12792004-06-15 Paolo Bonzini <bonzini@gnu.org>
076e5443
PB
1280
1281 * Makefile.am: Remove useless multilib rules.
1282 * Makefile.in: Regenerate.
1283 * aclocal.m4: Regenerate with automake 1.8.5.
1284 * configure.ac: Remove useless multilib configury.
1285 * configure: Regenerate.
1286
94632047 12872004-06-15 Paolo Bonzini <bonzini@gnu.org>
9ac926b1
PB
1288
1289 * .cvsignore: New file.
1290
37c849e4
JJ
12912004-06-10 Jakub Jelinek <jakub@redhat.com>
1292
1293 * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
1294 fp_done.
1295 (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
1296 changed from 8.
1297
cb623172
SM
12982004-06-06 Sean McNeil <sean@mcneil.com>
1299
1300 * configure.ac: Add x86_64-*-freebsd* support.
1301 * configure: Regenerate.
1302
c9b93377
JB
13032004-04-26 Joe Buck <jbuck@welsh-buck.org>
1304
1305 Bug 15093
1306 * configure.ac: Test for existence of mmap and sys/mman.h before
1307 checking blacklist. Fix suggested by Jim Wilson.
1308 * configure: Regenerate.
1309
cf90fd1b
MA
13102004-04-26 Matt Austern <austern@apple.com>
1311
1312 * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
1313 FDE location.
1314 * src/powerpc/darwin_closure.S: Likewise.
c6900272 1315
67781b44
AT
13162004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
1317
1318 * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
1319 error. Reported by Thomas Heller <theller@python.net>.
1320 * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
1321 * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
1322
14b078a8
MK
13232004-03-20 Matthias Klose <doko@debian.org>
1324
1325 * src/pa/linux.S: Fix typo.
1326
d65a810f
MK
13272004-03-19 Matthias Klose <doko@debian.org>
1328
67781b44 1329 * Makefile.am: Update.
d65a810f
MK
1330 * Makefile.in: Regenerate.
1331 * src/pa/ffi.h.in: Remove.
1332 * src/pa/ffitarget.h: New file.
1333
13342004-02-10 Randolph Chung <tausq@debian.org>
1335
1336 * Makefile.am: Add PA support.
1337 * Makefile.in: Regenerate.
1338 * include/Makefile.in: Regenerate.
1339 * configure.ac: Add PA target.
1340 * configure: Regenerate.
1341 * src/pa/ffi.c: New file.
1342 * src/pa/ffi.h.in: Add PA support.
1343 * src/pa/linux.S: New file.
1344 * prep_cif.c: Add PA support.
1345
09cababc
HY
13462004-03-16 Hosaka Yuji <hos@tamanegi.org>
1347
1348 * src/types.c: Fix alignment size of X86_WIN32 case int64 and
1349 double.
1350 * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
1351 with ecif->cif->flags.
1352 (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
1353 with cif->flags.
1354 (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
1355 (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
1356 * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
1357 sc_retstruct2b): Add for 1 or 2-bytes struct case.
1358
0e8d0c5f
KC
13592004-03-15 Kelley Cook <kcook@gcc.gnu.org>
1360
1361 * configure.in: Rename file to ...
1362 * configure.ac: ... this.
1363 * fficonfig.h.in: Regenerate.
1364 * Makefile.in: Regenerate.
1365 * include/Makefile.in: Regenerate.
1366 * testsuite/Makefile.in: Regenerate.
1367
b8d50739
MA
13682004-03-12 Matt Austern <austern@apple.com>
1369
1370 * src/powerpc/darwin.S: Fix EH information so it corresponds to
1371 changes in EH format resulting from addition of linkonce support.
1372 * src/powerpc/darwin_closure.S: Likewise.
09cababc 1373
3ed8e5b6
AT
13742004-03-11 Andreas Tobler <a.tobler@schweiz.ch>
1375 Paolo Bonzini <bonzini@gnu.org>
1376
1377 * Makefile.am (AUTOMAKE_OPTIONS): Set them.
1378 Remove VPATH. Remove rules for object files. Remove multilib support.
1379 (AM_CCASFLAGS): Add.
1380 * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
1381 (AC_PREREQ): Bump version to 2.59.
1382 (AC_INIT): Fill with version info and bug address.
1383 (ORIGINAL_LD_FOR_MULTILIBS): Remove.
1384 (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
1385 De-precious CC so that the right flags are passed down to multilibs.
1386 (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
1387 (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
1388 (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
1389 * configure: Rebuilt.
1390 * aclocal.m4: Likewise.
1391 * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
1392 * fficonfig.h.in: Likewise.
1393
254ea477
AS
13942004-03-11 Andreas Schwab <schwab@suse.de>
1395
1396 * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
1397 arguments from fp registers only for the first 8 parameter slots.
1398 Don't convert a float parameter when passed in memory.
1399
3beb1315
HPN
14002004-03-09 Hans-Peter Nilsson <hp@axis.com>
1401
1402 * configure: Regenerate for config/accross.m4 correction.
1403
fecf735c
MK
14042004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
1405
1406 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
1407 ecif->cif->bytes to bytes.
1408 (ffi_prep_cif_machdep): Add braces around nested if statement.
1409
4243752c
AM
14102004-02-09 Alan Modra <amodra@bigpond.net.au>
1411
12001e0f
AM
1412 * src/types.c (pointer): POWERPC64 has 8 byte pointers.
1413
4243752c
AM
1414 * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
1415 (ffi_closure_helper_LINUX64): Fix typo.
1416 * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
1417 for powerpc64-*-*.
1418 * testsuite/libffi.call/float.c: Likewise.
1419 * testsuite/libffi.call/float2.c: Likewise.
1420
bf310028
AM
14212004-02-08 Alan Modra <amodra@bigpond.net.au>
1422
1423 * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
1424 long double function return and long double arg handling.
1425 (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
1426 Use "end_pfr" instead of "nf". Correct long double handling.
1427 Localise "temp".
1428 * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
1429 return value.
1430 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
1431 space for long double return value. Adjust stack frame and offsets.
1432 Load f2 long double return.
1433
dd5f9ea2
AM
14342004-02-07 Alan Modra <amodra@bigpond.net.au>
1435
1436 * src/types.c: Use 16 byte long double for POWERPC64.
1437
0ce78f01
EB
14382004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
1439
1440 * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
1441 when the structure return address is passed in %o0.
1442 (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
1443 (ffi_v9_layout_struct): Align the field following a nested structure
1444 on a word boundary. Use memmove instead of memcpy.
1445 (ffi_call): Update call to ffi_V9_return_struct.
1446 (ffi_prep_closure): Define 'ctx' only for V8.
1447 (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
1448 and ffi_closure_sparc_inner_v9.
1449 (ffi_closure_sparc_inner_v8): Return long doubles by reference.
1450 Always skip the structure return address. For structures and long
1451 doubles, copy the argument directly.
1452 (ffi_closure_sparc_inner_v9): Skip the structure return address only
1453 if required. Shift the maximum floating-point slot accordingly. For
1454 big structures, copy the argument directly; otherwise, left-justify the
1455 argument and call ffi_v9_layout_struct to lay out the structure on
1456 the stack.
1457 * src/sparc/v8.S: Undef STACKFRAME before defining it.
1458 (ffi_closure_v8): Pass the structure return address. Update call to
1459 ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
1460 Skip the 'unimp' insn when returning long doubles and structures.
1461 * src/sparc/v9.S: Undef STACKFRAME before defining it.
1462 (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
1463 FFI_TYPE_INT handling. Load structures both in integers and
1464 floating-point registers on return.
1465 * README: Update status of the SPARC port.
1466
7fcc1d9b
AT
14672004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
1468
1469 * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
1470 as of type ffi_arg.
1471 * testsuite/libffi.call/struct3.c (main): Fix CHECK.
1472
6ed0ecaf
UW
14732004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
1474
1475 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
1476 value as of type ffi_arg, not unsigned int.
1477
c930d8a5
MR
14782004-01-21 Michael Ritzert <ritzert@t-online.de>
1479
1480 * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
1481 of the LHS.
1482
7b2e3e60
AT
14832004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
1484
1485 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
1486 Solaris.
1487
2e89756b
RO
14882004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1489
1490 * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
1491 to void *.
1492
628b26f8
RH
14932003-12-10 Richard Henderson <rth@redhat.com>
1494
1495 * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
1496 size_t instead of int.
1497
0ee646d6
HY
14982003-12-04 Hosaka Yuji <hos@tamanegi.org>
1499
1500 * testsuite/libffi.call/many_win32.c: Include <float.h>.
1501 * testsuite/libffi.call/many_win32.c (main): Replace variable
1502 int i with unsigned long ul.
1503
1504 * testsuite/libffi.call/cls_align_uint64.c: New test case.
1505 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
1506 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
1507 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
1508 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
1509 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
1510 * testsuite/libffi.call/cls_align_float.c: Likewise.
1511 * testsuite/libffi.call/cls_align_double.c: Likewise.
1512 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
1513 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
1514
2c4ed456
HY
15152003-12-02 Hosaka Yuji <hos@tamanegi.org>
1516
1517 PR other/13221
1518 * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
1519 Align arguments to 32 bits.
1520
d18c3386
AT
15212003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
1522
1523 PR other/13221
1524 * testsuite/libffi.call/cls_multi_sshort.c: New test case.
1525 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
1526 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
1527 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
1528 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
1529 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
1530
1531 * testsuite/libffi.special/unwindtest.cc: Cosmetics.
1532
88096b2a
KG
15332003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1534
1535 * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
1536 * testsuite/libffi.special/ffitestcxx.h: Likewise.
1537
3eee102e
AT
15382003-11-22 Andreas Tobler <a.tobler@schweiz.ch>
1539
1540 * Makefile.in: Rebuilt.
1541 * configure: Likewise.
1542 * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
1543 the right type.
1544
5196736e
AJ
15452003-11-21 Andreas Jaeger <aj@suse.de>
1546 Andreas Tobler <a.tobler@schweiz.ch>
1547
1548 * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
1549 * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
1550 * Makefile.in: Rebuilt.
1551 * aclocal.m4: Likewise.
1552 * configure: Likewise.
1553 * fficonfig.h.in: Likewise.
1554 * testsuite/lib/libffi-dg.exp: Add include dir.
1555 * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
1556 * testsuite/libffi.special/ffitestcxx.h: Likewise.
1557 * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
1558 for ffi_closure if available.
1559 * testsuite/libffi.call/closure_fn1.c: Likewise.
1560 * testsuite/libffi.call/closure_fn2.c: Likewise.
1561 * testsuite/libffi.call/closure_fn3.c: Likewise.
1562 * testsuite/libffi.call/closure_fn4.c: Likewise.
1563 * testsuite/libffi.call/closure_fn5.c: Likewise.
1564 * testsuite/libffi.call/cls_12byte.c: Likewise.
1565 * testsuite/libffi.call/cls_16byte.c: Likewise.
1566 * testsuite/libffi.call/cls_18byte.c: Likewise.
1567 * testsuite/libffi.call/cls_19byte.c: Likewise.
1568 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
1569 * testsuite/libffi.call/cls_20byte.c: Likewise.
1570 * testsuite/libffi.call/cls_20byte1.c: Likewise.
1571 * testsuite/libffi.call/cls_24byte.c: Likewise.
1572 * testsuite/libffi.call/cls_2byte.c: Likewise.
1573 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
1574 * testsuite/libffi.call/cls_3byte1.c: Likewise.
1575 * testsuite/libffi.call/cls_3byte2.c: Likewise.
1576 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
1577 * testsuite/libffi.call/cls_4byte.c: Likewise.
1578 * testsuite/libffi.call/cls_5byte.c: Likewise.
1579 * testsuite/libffi.call/cls_64byte.c: Likewise.
1580 * testsuite/libffi.call/cls_6byte.c: Likewise.
1581 * testsuite/libffi.call/cls_7byte.c: Likewise.
1582 * testsuite/libffi.call/cls_8byte.c: Likewise.
1583 * testsuite/libffi.call/cls_9byte1.c: Likewise.
1584 * testsuite/libffi.call/cls_9byte2.c: Likewise.
1585 * testsuite/libffi.call/cls_double.c: Likewise.
1586 * testsuite/libffi.call/cls_float.c: Likewise.
1587 * testsuite/libffi.call/cls_schar.c: Likewise.
1588 * testsuite/libffi.call/cls_sint.c: Likewise.
1589 * testsuite/libffi.call/cls_sshort.c: Likewise.
1590 * testsuite/libffi.call/cls_uchar.c: Likewise.
1591 * testsuite/libffi.call/cls_uint.c: Likewise.
1592 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
1593 * testsuite/libffi.call/cls_ushort.c: Likewise.
1594 * testsuite/libffi.call/nested_struct.c: Likewise.
1595 * testsuite/libffi.call/nested_struct1.c: Likewise.
1596 * testsuite/libffi.call/nested_struct2.c: Likewise.
1597 * testsuite/libffi.call/nested_struct3.c: Likewise.
1598 * testsuite/libffi.call/problem1.c: Likewise.
1599 * testsuite/libffi.special/unwindtest.cc: Likewise.
1600
9e6c3ecb
AT
16012003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
1602
1603 * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
1604
70d8f2a1
AT
16052003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
1606
1607 * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
1608 Add -lgcc_s to additional flags.
1609
ea81d2a3
AT
16102003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
1611
1612 * configure.in, include/Makefile.am: PR libgcj/11147, install
1613 the ffitarget.h header file in a gcc versioned and target
1614 dependent place.
1615 * configure: Regenerated.
1616 * Makefile.in, include/Makefile.in: Likewise.
1617 * testsuite/Makefile.in: Likewise.
1618
647af4a9
AT
16192003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
1620
1621 * testsuite/libffi.call/closure_fn0.c: Print result and check
1622 with dg-output to make debugging easier.
1623 * testsuite/libffi.call/closure_fn1.c: Likewise.
1624 * testsuite/libffi.call/closure_fn2.c: Likewise.
1625 * testsuite/libffi.call/closure_fn3.c: Likewise.
1626 * testsuite/libffi.call/closure_fn4.c: Likewise.
1627 * testsuite/libffi.call/closure_fn5.c: Likewise.
1628 * testsuite/libffi.call/cls_12byte.c: Likewise.
1629 * testsuite/libffi.call/cls_16byte.c: Likewise.
1630 * testsuite/libffi.call/cls_18byte.c: Likewise.
1631 * testsuite/libffi.call/cls_19byte.c: Likewise.
1632 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
1633 * testsuite/libffi.call/cls_20byte.c: Likewise.
1634 * testsuite/libffi.call/cls_20byte1.c: Likewise.
1635 * testsuite/libffi.call/cls_24byte.c: Likewise.
1636 * testsuite/libffi.call/cls_2byte.c: Likewise.
1637 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
1638 * testsuite/libffi.call/cls_3byte1.c: Likewise.
1639 * testsuite/libffi.call/cls_3byte2.c: Likewise.
1640 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
1641 * testsuite/libffi.call/cls_4byte.c: Likewise.
1642 * testsuite/libffi.call/cls_5byte.c: Likewise.
1643 * testsuite/libffi.call/cls_64byte.c: Likewise.
1644 * testsuite/libffi.call/cls_6byte.c: Likewise.
1645 * testsuite/libffi.call/cls_7byte.c: Likewise.
1646 * testsuite/libffi.call/cls_8byte.c: Likewise.
1647 * testsuite/libffi.call/cls_9byte1.c: Likewise.
1648 * testsuite/libffi.call/cls_9byte2.c: Likewise.
1649 * testsuite/libffi.call/cls_double.c: Likewise.
1650 * testsuite/libffi.call/cls_float.c: Likewise.
1651 * testsuite/libffi.call/cls_schar.c: Likewise.
1652 * testsuite/libffi.call/cls_sint.c: Likewise.
1653 * testsuite/libffi.call/cls_sshort.c: Likewise.
1654 * testsuite/libffi.call/cls_uchar.c: Likewise.
1655 * testsuite/libffi.call/cls_uint.c: Likewise.
1656 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
1657 * testsuite/libffi.call/cls_ushort.c: Likewise.
1658 * testsuite/libffi.call/problem1.c: Likewise.
1659
1660 * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
1661 static.
1662
ac47cc13
AT
16632003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
1664
1665 * testsuite/libffi.call/cls_9byte2.c: New test case.
1666 * testsuite/libffi.call/cls_9byte1.c: Likewise.
1667 * testsuite/libffi.call/cls_64byte.c: Likewise.
1668 * testsuite/libffi.call/cls_20byte1.c: Likewise.
1669 * testsuite/libffi.call/cls_19byte.c: Likewise.
1670 * testsuite/libffi.call/cls_18byte.c: Likewise.
1671 * testsuite/libffi.call/closure_fn4.c: Likewise.
1672 * testsuite/libffi.call/closure_fn5.c: Likewise.
1673 * testsuite/libffi.call/cls_schar.c: Likewise.
1674 * testsuite/libffi.call/cls_sint.c: Likewise.
1675 * testsuite/libffi.call/cls_sshort.c: Likewise.
1676 * testsuite/libffi.call/nested_struct2.c: Likewise.
1677 * testsuite/libffi.call/nested_struct3.c: Likewise.
1678
f145ed6b
AT
16792003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
1680
1681 * testsuite/libffi.call/cls_double.c: Do a check on the result.
1682 * testsuite/libffi.call/cls_uchar.c: Likewise.
1683 * testsuite/libffi.call/cls_uint.c: Likewise.
1684 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
1685 * testsuite/libffi.call/cls_ushort.c: Likewise.
1686 * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
1687
2b04d015
AT
16882003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
1689
1690 * src/prep_cif.c (ffi_prep_cif): Move the validity check after
1691 the initialization.
1692
57f542b3
AT
16932003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
1694
2b04d015 1695 * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
57f542b3
AT
1696 FFI_ASSERT(FALSE) with FFI_ASSERT(0).
1697
e61acf72
DD
16982003-10-22 David Daney <ddaney@avtrex.com>
1699
1700 * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
1701 __attribute__((__mode__(__SI__))) and friends.
1702
2461c08b
AS
17032003-10-22 Andreas Schwab <schwab@suse.de>
1704
1705 * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
1706
1450eb7a
AT
17072003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
1708
1709 * configure.in: AC_LINK_FILES(ffitarget.h).
1710 * configure: Regenerate.
1711 * Makefile.in: Likewise.
1712 * include/Makefile.in: Likewise.
1713 * testsuite/Makefile.in: Likewise.
1714 * fficonfig.h.in: Likewise.
1715
17162003-10-21 Paolo Bonzini <bonzini@gnu.org>
1717 Richard Henderson <rth@redhat.com>
1718
1719 Avoid that ffi.h includes fficonfig.h.
1720
1721 * Makefile.am (EXTRA_DIST): Include ffitarget.h files
1722 (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
1723 (TARGET_SRC_MIPS_SGI): Removed.
1724 (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
1725 (MIPS_SGI): Removed.
1726 (CLEANFILES): Removed.
1727 (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
1728 targets.
1729 * acconfig.h: Removed.
1730 * configure.in: Compute sizeofs only for double and long double.
1731 Use them to define and subst HAVE_LONG_DOUBLE. Include comments
1732 into AC_DEFINE instead of using acconfig.h. Create
1733 include/ffitarget.h instead of include/fficonfig.h. Rename
1734 MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
1735 AC_DEFINE EH_FRAME_FLAGS.
1736 * include/Makefile.am (DISTCLEANFILES): New automake macro.
1737 (hack_DATA): Add ffitarget.h.
1738 * include/ffi.h.in: Remove all system specific definitions.
1739 Declare raw API even if it is not installed, why bother?
1740 Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
1741 not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
1742 ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
1743 (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
1744 * include/ffi_common.h (bool): Do not define.
1745 (ffi_assert): Accept failed assertion.
1746 (ffi_type_test): Return void and accept file/line.
1747 (FFI_ASSERT): Pass stringized failed assertion.
1748 (FFI_ASSERT_AT): New macro.
1749 (FFI_ASSERT_VALID_TYPE): New macro.
1750 (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
1751 UINT64, SINT64): Define here with gcc's __attribute__ macro
1752 instead of in ffi.h
1753 (FLOAT32, ALIGN): Define here instead of in ffi.h
1754 * include/ffi-mips.h: Removed. Its content moved to
1755 src/mips/ffitarget.h after separating assembly and C sections.
1756 * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
1757 src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
1758 src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
1759 src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
1760 SIZEOF_ARG -> FFI_SIZEOF_ARG.
1761 * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
1762 * src/debug.c (ffi_assert): Accept stringized failed assertion.
1763 (ffi_type_test): Rewritten.
1764 * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
1765 FFI_ASSERT_VALID_TYPE.
1766 * src/alpha/ffitarget.h, src/arm/ffitarget.h,
1767 src/ia64/ffitarget.h, src/m68k/ffitarget.h,
1768 src/mips/ffitarget.h, src/powerpc/ffitarget.h,
1769 src/s390/ffitarget.h, src/sh/ffitarget.h,
1770 src/sh64/ffitarget.h, src/sparc/ffitarget.h,
1771 src/x86/ffitarget.h: New files.
1772 * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
1773 src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
1774 src/powerpc/aix.S, src/powerpc/darwin.S,
1775 src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
1776 src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
1777 src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
1778 src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
1779 src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
1780 include fficonfig.h
1781
27d54b2a
RO
17822003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1783
1784 * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
1785 _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
1786
0df6970d
AT
17872003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
1788
1789 * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
1790 Used when FFI_DEBUG = 1.
1791
2612ffce
AM
17922003-10-14 Alan Modra <amodra@bigpond.net.au>
1793
1794 * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
1795 and align.
1796
d54f7354
RO
17972003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1798
1799 * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
1800 FFI_MIPS_O32 for O32 ABI.
1801
7a54c850
AT
18022003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
1803
1804 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
1805 SPARC64. Cleanup whitespaces.
1806
9e3bfa9b
AT
18072003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
1808
1809 * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
1810 strongarm, xscale. Cleanup whitespaces.
1811 * testsuite/libffi.call/closure_fn1.c: Likewise.
1812 * testsuite/libffi.call/closure_fn2.c: Likewise.
1813 * testsuite/libffi.call/closure_fn3.c: Likewise.
1814 * testsuite/libffi.call/cls_12byte.c: Likewise.
1815 * testsuite/libffi.call/cls_16byte.c: Likewise.
1816 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
1817 * testsuite/libffi.call/cls_20byte.c: Likewise.
1818 * testsuite/libffi.call/cls_24byte.c: Likewise.
1819 * testsuite/libffi.call/cls_2byte.c: Likewise.
1820 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
1821 * testsuite/libffi.call/cls_3byte1.c: Likewise.
1822 * testsuite/libffi.call/cls_3byte2.c: Likewise.
1823 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
1824 * testsuite/libffi.call/cls_4byte.c: Likewise.
1825 * testsuite/libffi.call/cls_5byte.c: Likewise.
1826 * testsuite/libffi.call/cls_6byte.c: Likewise.
1827 * testsuite/libffi.call/cls_7byte.c: Likewise.
1828 * testsuite/libffi.call/cls_8byte.c: Likewise.
1829 * testsuite/libffi.call/cls_double.c: Likewise.
1830 * testsuite/libffi.call/cls_float.c: Likewise.
1831 * testsuite/libffi.call/cls_uchar.c: Likewise.
1832 * testsuite/libffi.call/cls_uint.c: Likewise.
1833 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
1834 * testsuite/libffi.call/cls_ushort.c: Likewise.
1835 * testsuite/libffi.call/nested_struct.c: Likewise.
1836 * testsuite/libffi.call/nested_struct1.c: Likewise.
1837 * testsuite/libffi.call/problem1.c: Likewise.
1838 * testsuite/libffi.special/unwindtest.cc: Likewise.
1839 * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
1840
3e86b595
DE
18412003-09-18 David Edelsohn <edelsohn@gnu.org>
1842
1843 * src/powerpc/aix.S: Cleanup whitespaces.
1844 * src/powerpc/aix_closure.S: Likewise.
1845
8d8369f8
AT
18462003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
1847
1848 * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
1849 * src/powerpc/darwin_closure.S: Likewise.
1850 * src/powerpc/ffi_darwin.c: Likewise.
1851
69b182fd
AT
18522003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
1853 David Edelsohn <edelsohn@gnu.org>
1854
1855 * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
1856 * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
1857 parameter stack.
1858 * src/powerpc/darwin_closure.S: Likewise.
1859 * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
1860 according to the Darwin/AIX ABI.
1861 (ffi_prep_cif_machdep): Likewise.
1862 (ffi_closure_helper_DARWIN): Likewise.
1863 Remove the outgoing parameter stack logic. Simplify the evaluation
1864 of the different CASE types.
1865 (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
1866 statement in the trampoline code.
1867
df805cdc
KK
18682003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
1869
1870 * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
1871 for the register size.
1872 (ffi_closure_helper_SYSV): Handle the structure return value
1873 address correctly.
1874 (ffi_closure_helper_SYSV): Return the appropriate type when
1875 the registers are used for the structure return value.
1876 * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
1877 the 64-bit return value. Update copyright years.
1878
eb26c76c
RO
18792003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1880
1881 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
1882 srcdir for ffi_mips.h.
1883
6350c02c
AM
18842003-09-12 Alan Modra <amodra@bigpond.net.au>
1885
1886 * src/prep_cif.c (initialize_aggregate): Include tail padding in
1887 structure size.
1888 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
1889 placement of float result.
1890 * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
1891 cast of "resp" for big-endian 64 bit machines.
1892
5af1c806
AM
18932003-09-11 Alan Modra <amodra@bigpond.net.au>
1894
1895 * src/types.c (double, longdouble): Merge identical SH and ARM
1896 typedefs, and add POWERPC64.
1897 * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
1898 struct split over gpr and rest.
1899 (ffi_prep_cif_machdep): Correct intarg_count for structures.
1900 * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
1901
086a4bd7
AT
19022003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
1903
1904 * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
1905 passing correctly.
c930d8a5 1906
e517f636
AM
19072003-09-09 Alan Modra <amodra@bigpond.net.au>
1908
1909 * configure: Regenerate.
1910
6f20d627
AT
19112003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
1912
1913 * Makefile.am: Remove build rules for ffitest.
1914 * Makefile.in: Rebuilt.
c930d8a5 1915
6f20d627 19162003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
226660af
AT
1917
1918 * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
1919 about implicit declaration of abort().
1920
bbf3057b
AT
19212003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
1922
1923 * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
1924 * Makefile.in: Rebuilt.
1925 * configure.in: Add dejagnu test framework.
1926 * configure: Rebuilt.
1927
1928 * testsuite/Makefile.am: New file.
1929 * testsuite/Makefile.in: Built
c930d8a5 1930 * testsuite/lib/libffi-dg.exp: New file.
bbf3057b
AT
1931 * testsuite/config/default.exp: Likewise.
1932 * testsuite/libffi.call/call.exp: Likewise.
1933 * testsuite/libffi.call/ffitest.h: Likewise.
1934 * testsuite/libffi.call/closure_fn0.c: Likewise.
1935 * testsuite/libffi.call/closure_fn1.c: Likewise.
1936 * testsuite/libffi.call/closure_fn2.c: Likewise.
1937 * testsuite/libffi.call/closure_fn3.c: Likewise.
1938 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
1939 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
1940 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
1941 * testsuite/libffi.call/cls_2byte.c: Likewise.
1942 * testsuite/libffi.call/cls_3byte1.c: Likewise.
1943 * testsuite/libffi.call/cls_3byte2.c: Likewise.
1944 * testsuite/libffi.call/cls_4byte.c: Likewise.
1945 * testsuite/libffi.call/cls_5byte.c: Likewise.
1946 * testsuite/libffi.call/cls_6byte.c: Likewise.
1947 * testsuite/libffi.call/cls_7byte.c: Likewise.
1948 * testsuite/libffi.call/cls_8byte.c: Likewise.
1949 * testsuite/libffi.call/cls_12byte.c: Likewise.
1950 * testsuite/libffi.call/cls_16byte.c: Likewise.
1951 * testsuite/libffi.call/cls_20byte.c: Likewise.
1952 * testsuite/libffi.call/cls_24byte.c: Likewise.
1953 * testsuite/libffi.call/cls_double.c: Likewise.
1954 * testsuite/libffi.call/cls_float.c: Likewise.
1955 * testsuite/libffi.call/cls_uchar.c: Likewise.
1956 * testsuite/libffi.call/cls_uint.c: Likewise.
1957 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
1958 * testsuite/libffi.call/cls_ushort.c: Likewise.
1959 * testsuite/libffi.call/float.c: Likewise.
1960 * testsuite/libffi.call/float1.c: Likewise.
1961 * testsuite/libffi.call/float2.c: Likewise.
1962 * testsuite/libffi.call/many.c: Likewise.
1963 * testsuite/libffi.call/many_win32.c: Likewise.
1964 * testsuite/libffi.call/nested_struct.c: Likewise.
1965 * testsuite/libffi.call/nested_struct1.c: Likewise.
1966 * testsuite/libffi.call/pyobjc-tc.c: Likewise.
1967 * testsuite/libffi.call/problem1.c: Likewise.
1968 * testsuite/libffi.call/promotion.c: Likewise.
1969 * testsuite/libffi.call/return_ll.c: Likewise.
1970 * testsuite/libffi.call/return_sc.c: Likewise.
1971 * testsuite/libffi.call/return_uc.c: Likewise.
1972 * testsuite/libffi.call/strlen.c: Likewise.
1973 * testsuite/libffi.call/strlen_win32.c: Likewise.
1974 * testsuite/libffi.call/struct1.c: Likewise.
1975 * testsuite/libffi.call/struct2.c: Likewise.
1976 * testsuite/libffi.call/struct3.c: Likewise.
1977 * testsuite/libffi.call/struct4.c: Likewise.
1978 * testsuite/libffi.call/struct5.c: Likewise.
1979 * testsuite/libffi.call/struct6.c: Likewise.
1980 * testsuite/libffi.call/struct7.c: Likewise.
1981 * testsuite/libffi.call/struct8.c: Likewise.
c930d8a5 1982 * testsuite/libffi.call/struct9.c: Likewise.
bbf3057b
AT
1983 * testsuite/libffi.special/special.exp: New file.
1984 * testsuite/libffi.special/ffitestcxx.h: Likewise.
1985 * testsuite/libffi.special/unwindtest.cc: Likewise.
1986
c930d8a5 1987
996b4f8f
KK
19882003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
1989
1990 * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
1991 copyright years.
1992
b00badcd
AM
19932003-08-02 Alan Modra <amodra@bigpond.net.au>
1994
1995 * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
1996 structure passing.
1997 (ffi_closure_helper_LINUX64): Likewise.
1998 * src/powerpc/linux64.S: Remove code writing to parm save area.
1999 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
2000 address in lr from ffi_closure_helper_LINUX64 call to calculate
2001 table address. Optimize function tail.
2002
c1516eae
AT
20032003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
2004
2005 * src/sparc/ffi.c: Handle all floating point registers.
2006 * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
2007
fc0e6222
GP
20082003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
2009
2010 * README: Note that libffi is not part of GCC. Update the project
2011 URL and status.
2012
a1569df8
FS
20132003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2014
2015 * src/powerpc/ppc_closure.S: Include ffi.h.
2016
12e816bf
RO
20172003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2018
2019 * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
2020 Use C style comments.
2021
e860ed6d
KK
20222003-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
2023
2024 * Makefile.am: Add SHmedia support. Fix a typo of SH support.
2025 * Makefile.in: Regenerate.
2026 * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
2027 * configure: Regenerate.
2028 * include/ffi.h.in: Add SHmedia support.
2029 * src/sh64/ffi.c: New file.
2030 * src/sh64/sysv.S: New file.
2031
a733b15e
JJ
20322003-05-16 Jakub Jelinek <jakub@redhat.com>
2033
2034 * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
2035 should be read-only.
2036 * configure: Rebuilt.
2037 * fficonfig.h.in: Rebuilt.
2038 * include/ffi.h.in (EH_FRAME_FLAGS): Define.
2039 * src/alpha/osf.S: Use EH_FRAME_FLAGS.
2040 * src/powerpc/linux64.S: Likewise.
2041 * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
2042 * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
2043 if -fpic/-fPIC/-mrelocatable.
2044 * src/powerpc/powerpc_closure.S: Likewise.
2045 * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
2046 #write in .eh_frame flags.
2047 * src/sparc/v9.S: Likewise.
2048 * src/x86/unix64.S: Use EH_FRAME_FLAGS.
2049 * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
2050 * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
2051
bd19c9f4
JS
20522003-05-07 Jeff Sturm <jsturm@one-point.com>
2053
2054 Fixes PR bootstrap/10656
2055 * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
2056 support for .register pseudo-op.
2057 * src/sparc/v8.S: Use it.
2058 * fficonfig.h.in: Rebuilt.
2059 * configure: Rebuilt.
2060
e9b84181
JJ
20612003-04-18 Jakub Jelinek <jakub@redhat.com>
2062
2063 * include/ffi.h.in (POWERPC64): Define if 64-bit.
2064 (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
2065 Make it the default on POWERPC64.
2066 (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
2067 * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
2068 * configure: Rebuilt.
2069 * src/powerpc/ffi.c (hidden): Define.
2070 (ffi_prep_args_SYSV): Renamed from
2071 ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
2072 (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
2073 ASM_NEEDS_REGISTERS64): New.
2074 (ffi_prep_args64): New function.
2075 (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
2076 (ffi_call): Likewise.
2077 (ffi_prep_closure): Likewise.
2078 (flush_icache): Surround by #ifndef POWERPC64.
2079 (ffi_dblfl): New union type.
2080 (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
2081 (ffi_closure_helper_LINUX64): New function.
2082 * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
2083 __powerpc64__.
2084 * src/powerpc/sysv.S: Likewise.
2085 (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
2086 * src/powerpc/linux64.S: New file.
2087 * src/powerpc/linux64_closure.S: New file.
2088 * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
2089 src/powerpc/linux64_closure.S.
2090 (TARGET_SRC_POWERPC): Likewise.
2091
2092 * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
2093 closure_test_fn3): Fix result printing on big-endian 64-bit
2094 machines.
2095 (main): Print tst2_arg instead of uninitialized tst2_result.
2096
2097 * src/ffitest.c (main): Hide what closure pointer really points to
2098 from the compiler.
2099
908a31e1
RE
21002003-04-16 Richard Earnshaw <rearnsha@arm.com>
2101
2102 * configure.in (arm-*-netbsdelf*): Add configuration.
2103 (configure): Regenerated.
2104
41a73c4c
LR
21052003-04-04 Loren J. Rittle <ljrittle@acm.org>
2106
2107 * include/Makefile.in: Regenerate.
2108
cd41c847
ZD
21092003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2110
2111 * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
2112 bit mode.
2113 * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
2114 Receive closure pointer through parameter, read args using
2115 __builtin_dwarf_cfa.
2116 (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
2117
6db450f9
AS
21182003-03-12 Andreas Schwab <schwab@suse.de>
2119
2120 * configure.in: Avoid trailing /. in toolexeclibdir.
2121 * configure: Rebuilt.
2122
70144e9c
AT
21232003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
2124
c6900272 2125 * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
70144e9c 2126
79e43f89
AT
21272003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
2128
2129 * libffi/src/powerpc/darwin_closure.S:
2130 Fix alignement bug, allocate 8 bytes for the result.
c930d8a5 2131 * libffi/src/powerpc/aix_closure.S:
79e43f89
AT
2132 Likewise.
2133 * libffi/src/powerpc/ffi_darwin.c:
2134 Update stackframe description for aix/darwin_closure.S.
c930d8a5 2135
0fcc9e55
JJ
21362003-02-06 Jakub Jelinek <jakub@redhat.com>
2137
2138 * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
2139 attribute.
2140
63b87c2e
CC
21412003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
2142 Andreas Schwab <schwab@suse.de>
2143
c6900272 2144 * configure.in: Adjust command to source config-ml.in to account
63b87c2e
CC
2145 for changes to the libffi_basedir definition.
2146 (libffi_basedir): Remove ${srcdir} from value and include trailing
2147 slash if nonempty.
c930d8a5 2148
c6900272 2149 * configure: Regenerate.
63b87c2e 2150
c33402e2
FS
21512003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
2152
2153 * src/powerpc/ppc_closure.S: Recode to fit shared libs.
2154
fd2e49b2
AH
21552003-01-28 Andrew Haley <aph@redhat.com>
2156
2157 * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
2158 * src/x86/ffi64.c (ffi_prep_closure): New.
2159 (ffi_closure_UNIX64_inner): New.
2160 * src/x86/unix64.S (ffi_closure_UNIX64): New.
2161
0e292c01
AO
21622003-01-27 Alexandre Oliva <aoliva@redhat.com>
2163
2164 * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
2165 Remove USE_LIBDIR conditional.
2166 * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
2167 * Makefile.in, configure: Rebuilt.
2168
acabc220
DE
21692003-01027 David Edelsohn <edelsohn@gnu.org>
2170
2171 * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
2172 * Makefile.in: Regenerate.
2173
be0acd42
AH
21742003-01-22 Andrew Haley <aph@redhat.com>
2175
2176 * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
2177 unwind info.
2178
ed695c8e
AT
21792003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
2180
2181 * src/powerpc/darwin.S: Add unwind info.
2182 * src/powerpc/darwin_closure.S: Likewise.
2183
45ba15f4
AH
21842003-01-14 Andrew Haley <aph@redhat.com>
2185
2186 * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
2187 (ffi_prep_cif_machdep): Likewise.
2188 * src/x86/unix64.S: Add unwind info.
2189
4b5f402e
AJ
21902003-01-14 Andreas Jaeger <aj@suse.de>
2191
2192 * src/ffitest.c (main): Only use ffi_closures if those are
2193 supported.
2194
7b5102af
TT
21952003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
2196
2197 * libffi/src/ffitest.c
c6900272 2198 add closure testcases
7b5102af
TT
2199
22002003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
2201
2202 * libffi/src/powerpc/ffi.c
c6900272 2203 fix alignment bug for float (4 byte aligned iso 8 byte)
7b5102af 2204
5f7c78d8
GK
22052003-01-09 Geoffrey Keating <geoffk@apple.com>
2206
2207 * src/powerpc/ffi_darwin.c: Remove RCS version string.
2208 * src/powerpc/darwin.S: Remove RCS version string.
2209
c75c7793
JS
22102003-01-03 Jeff Sturm <jsturm@one-point.com>
2211
2212 * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
2213 * src/ffitest.c (main): Use static storage for closure.
2214 * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
2215 * src/sparc/v8.S (ffi_closure_v8): New.
2216 * src/sparc/v9.S (ffi_closure_v9): New.
2217
eb3c46a1
RM
22182002-11-10 Ranjit Mathew <rmathew@hotmail.com>
2219
2220 * include/ffi.h.in: Added FFI_STDCALL ffi_type
2221 enumeration for X86_WIN32.
2222 * src/x86/win32.S: Added ffi_call_STDCALL function
2223 definition.
2224 * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
2225 switch cases for recognising FFI_STDCALL and
2226 calling ffi_call_STDCALL if target is X86_WIN32.
2227 * src/ffitest.c (my_stdcall_strlen/stdcall_many):
2228 stdcall versions of the "my_strlen" and "many"
2229 test functions (for X86_WIN32).
2230 Added test cases to test stdcall invocation using
2231 these functions.
2232
4977bab6
ZW
22332002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
2234
2235 * src/sh/sysv.S: Add DWARF2 unwind info.
2236
67333e84
UW
22372002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
2238
2239 * src/s390/sysv.S (.eh_frame section): Make section read-only.
2240
bc3cf760
JW
22412002-11-26 Jim Wilson <wilson@redhat.com>
2242
2243 * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
2244
4977bab6
ZW
22452002-11-23 H.J. Lu <hjl@gnu.org>
2246
2247 * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
2248 Include ../config/accross.m4.
2249 * aclocal.m4; Rebuild.
2250 * configure: Likewise.
2251
18789f4e
UW
22522002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
2253
2254 * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
2255
6bee5372
DD
22562002-11-11 DJ Delorie <dj@redhat.com>
2257
2258 * configure.in: Look for common files in the right place.
2259
8177895b
UW
22602002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
2261
2262 * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
2263 raw data as _Jv_word values, not ffi_raw.
2264 (ffi_java_ptrarray_to_raw): Likewise.
2265 (ffi_java_rvalue_to_raw): New function.
2266 (ffi_java_raw_call): Call it.
2267 (ffi_java_raw_to_rvalue): New function.
2268 (ffi_java_translate_args): Call it.
2269 * src/ffitest.c (closure_test_fn): Interpret return value
2270 as ffi_arg, not int.
2271 * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
2272 FFI_TYPE_POINTER case.
2273 (ffi_closure_helper_SYSV): Likewise. Also, assume return
2274 values extended to word size.
2275
af50f4c8
AJ
22762002-10-02 Andreas Jaeger <aj@suse.de>
2277
2278 * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
2279
5d297584
BT
22802002-10-01 Bo Thorsen <bo@smetana.suse.de>
2281
2282 * include/ffi.h.in: Fix i386 win32 compilation.
2283
c4f17c6f
UW
22842002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
2285
2286 * configure.in: Add s390x-*-linux-* target.
2287 * configure: Regenerate.
2288 * include/ffi.h.in: Define S390X for s390x targets.
2289 (FFI_CLOSURES): Define for s390/s390x.
2290 (FFI_TRAMPOLINE_SIZE): Likewise.
2291 (FFI_NATIVE_RAW_API): Likewise.
2292 * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
2293 * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
4977bab6 2294 * src/s390/ffi.c: Major rework of existing code. Add support for
c4f17c6f
UW
2295 s390x targets. Add closure support.
2296 * src/s390/sysv.S: Likewise.
2297
d7b52625
RE
22982002-09-29 Richard Earnshaw <rearnsha@arm.com>
2299
2300 * src/arm/sysv.S: Fix typo.
2301
28165e22
RE
23022002-09-28 Richard Earnshaw <rearnsha@arm.com>
2303
2304 * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
2305 has defined __USER_LABEL_PREFIX__, then use it in CNAME.
2306 (ffi_call_SYSV): Handle soft-float.
2307
0b0f4163
BT
23082002-09-27 Bo Thorsen <bo@suse.de>
2309
2310 * include/ffi.h.in: Fix multilib x86-64 support.
2311
6c5d742e
KG
23122002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2313
2314 * Makefile.am (all-multi): Fix multilib parallel build.
2315
f4b2b0d6
KK
23162002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
2317
2318 * configure.in (sh[34]*-*-linux*): Add brackets.
2319 * configure: Regenerate.
2320
ddebdfeb
KK
23212002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
2322
2323 * Makefile.am: Add SH support.
2324 * Makefile.in: Regenerate.
2325 * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
2326 * configure: Regenerate.
2327 * include/ffi.h.in: Add SH support.
2328 * src/sh/ffi.c: New file.
2329 * src/sh/sysv.S: New file.
2330 * src/types.c: Add SH support.
2331
c94974ca
BT
23322002-07-16 Bo Thorsen <bo@suse.de>
2333
2334 * src/x86/ffi64.c: New file that adds x86-64 support.
2335 * src/x86/unix64.S: New file that handles argument setup for
2336 x86-64.
2337 * src/x86/sysv.S: Don't use this on x86-64.
2338 * src/x86/ffi.c: Don't use this on x86-64.
2339 Remove unused vars.
2340 * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
2341 for x86-64.
2342 * src/ffitest.c (struct6): New test that tests a special case in
2343 the x86-64 ABI.
2344 (struct7): Likewise.
2345 (struct8): Likewise.
2346 (struct9): Likewise.
2347 (closure_test_fn): Silence warning about this when it's not used.
2348 (main): Add the new tests.
2349 (main): Fix a couple of wrong casts and silence some compiler warnings.
2350 * include/ffi.h.in: Add x86-64 ABI definition.
2351 * fficonfig.h.in: Regenerate.
2352 * Makefile.am: Add x86-64 support.
2353 * configure.in: Likewise.
2354 * Makefile.in: Regenerate.
2355 * configure: Likewise.
2356
23572002-06-24 Bo Thorsen <bo@suse.de>
2358
2359 * src/types.c: Merge settings for similar architectures.
2360 Add x86-64 sizes and alignments.
2361
23622002-06-23 Bo Thorsen <bo@suse.de>
2363
2364 * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
2365 * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
2366 * src/mips/ffi.c (ffi_prep_args): Likewise.
2367 * src/m68k/ffi.c (ffi_prep_args): Likewise.
2368
5be36a8f
L
23692002-07-18 H.J. Lu (hjl@gnu.org)
2370
2371 * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
2372 (libffi_la_SOURCES): Support MIPS_LINUX.
2373 (libffi_convenience_la_SOURCES): Likewise.
2374 * Makefile.in: Regenerated.
2375
2376 * configure.in (mips64*-*): Skip.
2377 (mips*-*-linux*): New.
2378 * configure: Regenerated.
2379
2380 * src/mips/ffi.c: Include <sgidefs.h>.
2381
ad5e163c
UW
23822002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
2383
2384 * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
2385
ee4586c5
RS
23862002-05-27 Roger Sayle <roger@eyesopen.com>
2387
2388 * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
2389
b86aa7b0
BT
23902002-05-27 Bo Thorsen <bo@suse.de>
2391
2392 * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
2393 fix formatting.
2394
859f7aaf
AT
23952002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
2396
2397 * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
2398 beginning of function (for older apple cc).
2399
6706f116
AO
24002002-05-08 Alexandre Oliva <aoliva@redhat.com>
2401
2402 * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
2403 script entry, and set LD to it when configuring multilibs.
2404 * configure: Rebuilt.
2405
fad655c8
JT
24062002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
2407
2408 * configure.in (sparc64-*-netbsd*): Add target.
2409 (sparc-*-netbsdelf*): Likewise.
2410 * configure: Regenerate.
2411
189ab118
DM
24122002-04-28 David S. Miller <davem@redhat.com>
2413
2414 * configure.in, configure: Fix SPARC test in previous change.
2415
22bcf65c
GT
24162002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
2417
2418 * Makefile.am: Add Linux for S/390 support.
2419 * Makefile.in: Regenerate.
2420 * configure.in: Add Linux for S/390 support.
2421 * configure: Regenerate.
2422 * include/ffi.h.in: Add Linux for S/390 support.
2423 * src/s390/ffi.c: New file from libffi CVS tree.
2424 * src/s390/sysv.S: New file from libffi CVS tree.
2425
5d84cf0b
JJ
24262002-04-28 Jakub Jelinek <jakub@redhat.com>
2427
2428 * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
2429 %r_disp32().
2430 * src/sparc/v8.S: Use it.
2431 * src/sparc/v9.S: Likewise.
2432 * fficonfig.h.in: Rebuilt.
2433 * configure: Rebuilt.
2434
cc382e5c
HB
24352002-04-08 Hans Boehm <Hans_Boehm@hp.com>
2436
2437 * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
2438 correctly.
2439 * src/ia64/unix.S: Add unwind information. Fix comments.
2440 Save sp in a way that's compatible with unwind info.
2441 (ffi_call_unix): Correctly restore sp in all cases.
2442 * src/ia64/ffi.c: Add, fix comments.
2443
dc798645
JJ
24442002-04-08 Jakub Jelinek <jakub@redhat.com>
2445
2446 * src/sparc/v8.S: Make .eh_frame dependent on target word size.
2447
da00eaab
JT
24482002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
2449
2450 * configure.in (alpha*-*-netbsd*): Add target.
2451 * configure: Regenerate.
2452
0c0b87ad
JS
24532002-04-04 Jeff Sturm <jsturm@one-point.com>
2454
2455 * src/sparc/v8.S: Add unwind info.
2456 * src/sparc/v9.S: Likewise.
2457
320d7e7a
KW
24582002-03-30 Krister Walfridsson <cato@df.lth.se>
2459
2460 * configure.in: Enable i*86-*-netbsdelf*.
2461 * configure: Rebuilt.
4977bab6 2462
c75e51ed
DB
24632002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
2464
2465 PR other/2620
2466 * src/mips/n32.s: Delete
2467 * src/mips/o32.s: Delete
2468
5bb366e0
LR
24692002-03-21 Loren J. Rittle <ljrittle@acm.org>
2470
2471 * configure.in: Enable alpha*-*-freebsd*.
2472 * configure: Rebuilt.
2473
ce3b24a7
BM
24742002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2475
2476 * Makefile.am: libfficonvenience -> libffi_convenience.
2477 * Makefile.in: Rebuilt.
4977bab6 2478
1eb7ba30
BM
2479 * Makefile.am: Define ffitest_OBJECTS.
2480 * Makefile.in: Rebuilt.
ce3b24a7 2481
073ae293
AT
24822002-03-07 Andreas Tobler <toa@pop.agri.ch>
2483 David Edelsohn <edelsohn@gnu.org>
2484
2485 * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
2486 (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
2487 (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
2488 * Makefile.in: Regenerate.
2489 * include/ffi.h.in: Add AIX and Darwin closure definitions.
2490 * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
2491 (flush_icache, flush_range): New functions.
2492 (ffi_closure_helper_DARWIN): New function.
2493 * src/powerpc/aix_closure.S: New file.
2494 * src/powerpc/darwin_closure.S: New file.
4977bab6 2495
02c521f4
JS
24962002-02-24 Jeff Sturm <jsturm@one-point.com>
2497
2498 * include/ffi.h.in: Add typedef for ffi_arg.
2499 * src/ffitest.c (main): Declare rint with ffi_arg.
4977bab6 2500
287dd527
AT
25012002-02-21 Andreas Tobler <toa@pop.agri.ch>
2502
2503 * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
2504 number of GPRs for floating-point arguments.
2505
e2f2e70a
AG
25062002-01-31 Anthony Green <green@redhat.com>
2507
2508 * configure: Rebuilt.
2509 * configure.in: Replace CHECK_SIZEOF and endian tests with
2510 cross-compiler friendly macros.
2511 * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
2512 macros.
2513
15b9b32f
DE
25142002-01-18 David Edelsohn <edelsohn@gnu.org>
2515
2516 * src/powerpc/darwin.S (_ffi_call_AIX): New.
1f7d5413 2517 * src/powerpc/aix.S (ffi_call_DARWIN): New.
15b9b32f 2518
2f4006f8
DE
25192002-01-17 David Edelsohn <edelsohn@gnu.org>
2520
2521 * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
2522 (TARGET_SRC_POWERPC_AIX): New.
2523 (POWERPC_AIX): New stanza.
2524 * Makefile.in: Regenerate.
2525 * configure.in: Add AIX case.
2526 * configure: Regenerate.
2527 * include/ffi.h.in (ffi_abi): Add FFI_AIX.
2528 * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
2529 size. Fix "long double" support.
2530 (ffi_call): Add FFI_AIX case.
2531 * src/powerpc/aix.S: New.
2532
3c017635
JH
25332001-10-09 John Hornkvist <john@toastedmarshmallow.com>
2534
2535 Implement Darwin PowerPC ABI.
2536 * configure.in: Handle powerpc-*-darwin*.
2537 * Makefile.am: Set source files for POWERPC_DARWIN.
2538 * configure: Rebuilt.
2539 * Makefile.in: Rebuilt.
2540 * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
2541 POWERPC_DARWIN.
2542 * src/powerpc/darwin.S: New file.
2543 * src/powerpc/ffi_darwin.c: New file.
2544
cc712abf
JM
25452001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
2546
2547 * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
2548
03a8de49
RO
25492001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2550
2551 * src/x86/sysv.S: Avoid gas-only .balign directive.
2552 Use C style comments.
2553
92a0e6c6
RO
25542001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2555
2556 * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
2557 Fixes PR bootstrap/3563.
2558
57482f58
RO
25592001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2560
2561 * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
2562
d7e2dd2f
RO
25632001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2564
2565 * configure.in: Recognize sparc*-sun-* host.
2566 * configure: Regenerate.
4977bab6 2567
be72207c
AH
25682001-06-06 Andrew Haley <aph@redhat.com>
2569
4075db8f 2570 * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
be72207c 2571
552cb45a
AH
25722001-06-03 Andrew Haley <aph@redhat.com>
2573
4075db8f
BT
2574 * src/alpha/osf.S: Add unwind info.
2575 * src/powerpc/sysv.S: Add unwind info.
2576 * src/powerpc/ppc_closure.S: Likewise.
552cb45a 2577
7d45b968
JS
25782000-05-31 Jeff Sturm <jsturm@one-point.com>
2579
2580 * configure.in: Fix AC_ARG_ENABLE usage.
2581 * configure: Rebuilt.
2582
2a7f63c4
BM
25832001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
2584
2585 * configure.in: Remove warning about beta code.
2586 * configure: Rebuilt.
2587
25882001-04-25 Hans Boehm <Hans_Boehm@hp.com>
2589
03a55252
HB
2590 * src/ia64/unix.S: Restore stack pointer when returning from
2591 ffi_closure_UNIX.
2592 * src/ia64/ffi.c: Fix typo in comment.
2593
df5da1c4
JW
25942001-04-18 Jim Wilson <wilson@redhat.com>
2595
2596 * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
2597 to eliminate RAW DV.
2598
52c28977
BM
25992001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
2600
2601 * Makefile.am: Make a libtool convenience library.
2602 * Makefile.in: Rebuilt.
2603
3b905056
BM
26042001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
2605
2606 * configure.in: Use different syntax for subdirectory creation.
2607 * configure: Rebuilt.
2608
d6c4152a
JB
26092001-03-27 Jon Beniston <jon@beniston.com>
2610
2611 * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
2612 * configure: Rebuilt.
2613 * Makefile.am: Added X86_WIN32 target support.
2614 * Makefile.in: Rebuilt.
2615
2616 * include/ffi.h.in: Added X86_WIN32 target support.
2617
2618 * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
2619 * src/types.c: Added X86_WIN32 target support.
2620
2621 * src/x86/win32.S: New file. Based on sysv.S, but with EH
2622 stuff removed and made to work with CygWin's gas.
2623
675cdab3
BM
26242001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
2625
2626 * configure.in: Make target subdirectory in build dir.
2627 * Makefile.am: Override suffix based rules to specify correct output
2628 subdirectory.
2629 * Makefile.in: Rebuilt.
2630 * configure: Rebuilt.
2631
e5f8858a 26322001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
cc4c8975
KH
2633
2634 * src/powerpc/ppc_closure.S: New file.
2635 * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
2636 involving long long and register pairs.
2637 (ffi_prep_closure): New function.
2638 (flush_icache): Likewise.
2639 (ffi_closure_helper_SYSV): Likewise.
2640 * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
2641 (FFI_TRAMPOLINE_SIZE): Likewise.
2642 (FFI_NATIVE_RAW_API): Likewise.
2643 * Makefile.in: Rebuilt.
2644 * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
2645 (TARGET_SRC_POWERPC): Likewise.
2646
9450a929
TT
26472001-03-19 Tom Tromey <tromey@redhat.com>
2648
2649 * Makefile.in: Rebuilt.
2650 * Makefile.am (ffitest_LDFLAGS): New macro.
2651
4d2cf715
NC
26522001-03-02 Nick Clifton <nickc@redhat.com>
2653
2654 * include/ffi.h.in: Remove RCS ident string.
2655 * include/ffi_mips.h: Remove RCS ident string.
2656 * src/debug.c: Remove RCS ident string.
2657 * src/ffitest.c: Remove RCS ident string.
2658 * src/prep_cif.c: Remove RCS ident string.
2659 * src/types.c: Remove RCS ident string.
2660 * src/alpha/ffi.c: Remove RCS ident string.
2661 * src/alpha/osf.S: Remove RCS ident string.
2662 * src/arm/ffi.c: Remove RCS ident string.
2663 * src/arm/sysv.S: Remove RCS ident string.
2664 * src/mips/ffi.c: Remove RCS ident string.
2665 * src/mips/n32.S: Remove RCS ident string.
2666 * src/mips/o32.S: Remove RCS ident string.
2667 * src/sparc/ffi.c: Remove RCS ident string.
2668 * src/sparc/v8.S: Remove RCS ident string.
2669 * src/sparc/v9.S: Remove RCS ident string.
2670 * src/x86/ffi.c: Remove RCS ident string.
2671 * src/x86/sysv.S: Remove RCS ident string.
2672
7e5fd99f
JM
26732001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
2674
2675 * include/ffi.h.in: Change sourceware.cygnus.com references to
2676 gcc.gnu.org.
2677
3f67ba6e
RH
26782000-12-09 Richard Henderson <rth@redhat.com>
2679
2680 * src/alpha/ffi.c (ffi_call): Simplify struct return test.
2681 (ffi_closure_osf_inner): Index rather than increment avalue
2682 and arg_types. Give ffi_closure_osf the raw return value type.
2683 * src/alpha/osf.S (ffi_closure_osf): Handle return value type
2684 promotion.
2685
26862000-12-07 Richard Henderson <rth@redhat.com>
29fe0479
RH
2687
2688 * src/raw_api.c (ffi_translate_args): Fix typo.
2689 (ffi_prep_closure): Likewise.
2690
2691 * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
2692 FFI_TRAMPOLINE_SIZE.
2693 * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
2694 cif->bytes for new ffi_call_osf implementation.
2695 (ffi_prep_args): Absorb into ...
2696 (ffi_call): ... here. Do all stack allocation here and
2697 avoid a callback function.
2698 (ffi_prep_closure, ffi_closure_osf_inner): New.
2699 * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
2700 (ffi_closure_osf): New.
2701
2f7bf5b7
AO
27022000-09-10 Alexandre Oliva <aoliva@redhat.com>
2703
ed1c1a1a
AO
2704 * config.guess, config.sub, install-sh: Removed.
2705 * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
2706 * Makefile.in: Rebuilt.
2707
2f7bf5b7
AO
2708 * acinclude.m4: Include libtool macros from the top level.
2709 * aclocal.m4, configure: Rebuilt.
2710
e15a68e7
AO
27112000-08-22 Alexandre Oliva <aoliva@redhat.com>
2712
2713 * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
2714 * configure: Rebuilt.
2715
7f8c11d5
SB
27162000-05-11 Scott Bambrough <scottb@netwinder.org>
2717
4977bab6
ZW
2718 * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
2719 memory correctly. Use conditional instructions, not branches where
7f8c11d5
SB
2720 possible.
2721
c5acf51f
TT
27222000-05-04 Tom Tromey <tromey@cygnus.com>
2723
2724 * configure: Rebuilt.
2725 * configure.in: Match `arm*-*-linux-*'.
2726 From Chris Dornan <cdornan@arm.com>.
2727
91bffbe9
JJ
27282000-04-28 Jakub Jelinek <jakub@redhat.com>
2729
2730 * Makefile.am (SUBDIRS): Define.
2731 (AM_MAKEFLAGS): Likewise.
2732 (Multilib support.): Add section.
2733 * Makefile.in: Rebuilt.
2734 * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
4075db8f
BT
2735 New variables. Set for gcc using -print-multi-lib. Export them
2736 to libtool.
2737 (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
2738 * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
2739 for -shared links.
2740 (extra_compiler_flags_value, extra_compiler_flags): Check these
2741 for extra compiler options which need to be passed down in
2742 compiler_flags.
91bffbe9 2743
bd66587e
AG
27442000-04-16 Anthony Green <green@redhat.com>
2745
2746 * configure: Rebuilt.
2747 * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
2748
3791773c
JJ
27492000-04-14 Jakub Jelinek <jakub@redhat.com>
2750
4075db8f 2751 * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
3791773c
JJ
2752 Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
2753 * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
2754 Replace all void * sizeofs with sizeof(int).
2755 Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
2756 different than DOUBLE.
2757 Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
2758 (ffi_prep_args_v9): New function.
2759 (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
2760 (ffi_V9_return_struct): New function.
2761 (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
2762 32bit code (not yet cross-arch calls).
2763 * src/sparc/v8.S: Add struct return delay nop.
2764 Handle long long.
2765 * src/sparc/v9.S: New file.
2766 * src/prep_cif.c (ffi_prep_cif): Return structure pointer
2767 is used on sparc64 only for structures larger than 32 bytes.
2768 Pass by reference for structures is done for structure arguments
2769 larger than 16 bytes.
2770 * src/ffitest.c (main): Use 64bit rint on sparc64.
2771 Run long long tests on sparc.
2772 * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
2773 sparc64.
2774 (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
2775 on sparc64.
2776 * configure.in (sparc-*-linux*): New supported target.
2777 (sparc64-*-linux*): Likewise.
2778 * configure: Rebuilt.
2779 * Makefile.am: Add v9.S to SPARC files.
2780 * Makefile.in: Likewise.
2781 (LINK): Surround $(CCLD) into double quotes, so that multilib
2782 compiles work correctly.
2783
db459595
APB
27842000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
2785
2786 * configure: Rebuilt.
2787 * configure.in: (i*86-*-solaris*): New libffi target. Patch
2788 proposed by Bryce McKinlay.
2789
c1f63902
TT
27902000-03-20 Tom Tromey <tromey@cygnus.com>
2791
2792 * Makefile.in: Hand edit for java_raw_api.lo.
2793
0f72dc9e
BM
27942000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
2795
2796 * config.guess, config.sub: Update from the gcc tree.
2797 Fix for PR libgcj/168.
2798
3c18f2d1
TT
27992000-03-03 Tom Tromey <tromey@cygnus.com>
2800
323eee8a
TT
2801 * Makefile.in: Fixed ia64 by hand.
2802
3c18f2d1
TT
2803 * configure: Rebuilt.
2804 * configure.in (--enable-multilib): New option.
2805 (libffi_basedir): New subst.
2806 (AC_OUTPUT): Added multilib code.
2807
a2b10a92
TT
28082000-03-02 Tom Tromey <tromey@cygnus.com>
2809
2810 * Makefile.in: Rebuilt.
2811 * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
2812 directory name.
2813
dc5de370
HB
28142000-02-25 Hans Boehm <boehm@acm.org>
2815
2816 * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
2817 files.
2818 * src/raw_api.c (ffi_translate_args): Fixed typo in argument
2819 list.
2820 (ffi_prep_raw_closure): Use ffi_translate_args, not
2821 ffi_closure_translate.
2822 * src/java_raw_api.c: New file.
2823 * src/ffitest.c (closure_test_fn): New function.
2824 (main): Define `rint' as long long on IA64. Added new test when
2825 FFI_CLOSURES is defined.
2826 * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
2827 (ffi_abi): Recognize IA64.
2828 (ffi_raw): Added `flt' field.
2829 Added "Java raw API" code.
2830 * configure.in: Recognize ia64.
2831 * Makefile.am (TARGET_SRC_IA64): New macro.
2832 (libffi_la_common_SOURCES): Added java_raw_api.c.
2833 (libffi_la_SOURCES): Define in IA64 case.
2834
d79229bd
TT
28352000-01-04 Tom Tromey <tromey@cygnus.com>
2836
2837 * Makefile.in: Rebuilt with newer automake.
2838
2c33b220
TT
28391999-12-31 Tom Tromey <tromey@cygnus.com>
2840
2841 * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
2842
6ba9e3b0
TT
28431999-09-01 Tom Tromey <tromey@cygnus.com>
2844
2845 * include/ffi.h.in: Removed PACKAGE and VERSION defines and
2846 undefs.
2847 * fficonfig.h.in: Rebuilt.
2848 * configure: Rebuilt.
2849 * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
2850 Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
2851 * acconfig.h: Don't #undef PACKAGE or VERSION.
2852
63e5e3e0
AG
28531999-08-09 Anthony Green <green@cygnus.com>
2854
2855 * include/ffi.h.in: Try to work around messy header problem
2856 with PACKAGE and VERSION.
2857
2858 * configure: Rebuilt.
2859 * configure.in: Change version to 2.00-beta.
2860
4075db8f 2861 * fficonfig.h.in: Rebuilt.
63e5e3e0
AG
2862 * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
2863
2864 * src/x86/ffi.c (ffi_raw_call): Rename.
2865
28661999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
2867
2868 * src/x86/ffi.c (ffi_closure_SYSV): New function.
2869 (ffi_prep_incoming_args_SYSV): Ditto.
2870 (ffi_prep_closure): Ditto.
2871 (ffi_closure_raw_SYSV): Ditto.
2872 (ffi_prep_raw_closure): More ditto.
2873 (ffi_call_raw): Final ditto.
2874
2875 * include/ffi.h.in: Add definitions for closure and raw API.
2876
2877 * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
4977bab6 2878 FFI_TYPE_UINT64.
63e5e3e0
AG
2879
2880 * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
2881
2882 * src/raw_api.c: New file.
2883
2884 * include/ffi.h.in (ffi_raw): New type.
2885 (UINT_ARG, SINT_ARG): New defines.
2886 (ffi_closure, ffi_raw_closure): New types.
2887 (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
4977bab6 2888
63e5e3e0
AG
2889 * configure.in: Add check for endianness and sizeof void*.
2890
2891 * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
2892 instead of directly.
2893
2894 * configure: Rebuilt.
2895
2896Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
2897
2898 * configure.in: Add x86 and powerpc BeOS configurations.
2899 From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
2900
29011999-05-09 Anthony Green <green@cygnus.com>
2902
2903 * configure.in: Add warning about this being beta code.
2904 Remove src/Makefile.am from the picture.
2905 * configure: Rebuilt.
2906
2907 * Makefile.am: Move logic from src/Makefile.am. Add changes
2908 to support libffi as a target library.
2909 * Makefile.in: Rebuilt.
2910
2911 * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
2912 Upgraded to new autoconf, automake, libtool.
2913
2914 * README: Tweaks.
2915
2916 * LICENSE: Update copyright date.
2917
2918 * src/Makefile.am, src/Makefile.in: Removed.
2919
29201998-11-29 Anthony Green <green@cygnus.com>
2921
2922 * include/ChangeLog: Removed.
2923 * src/ChangeLog: Removed.
2924 * src/mips/ChangeLog: Removed.
2925 * src/sparc/ChangeLog: Remboved.
2926 * src/x86/ChangeLog: Removed.
2927
2928 * ChangeLog.v1: Created.