]> git.ipfire.org Git - thirdparty/gcc.git/blame - libffi/ChangeLog
Add closure API example to documentation
[thirdparty/gcc.git] / libffi / ChangeLog
CommitLineData
4138b429
NR
12010-07-07 Neil Roberts <neil@linux.intel.com>
2
3 * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
4 16-bytes.
5
f0ee5e3e
JJ
62010-07-02 Jakub Jelinek <jakub@redhat.com>
7
8 * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
9 * Makefile.in: Regenerated.
10
d416abb4
RO
112010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12
13 * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
14 output, too.
15 (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
16 (libffi_cv_as_string_pseudo_op): Check for .string.
17 * configure: Regenerate.
18 * fficonfig.h.in: Regenerate.
19 * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
20
60d3aec4
JJ
212010-04-07 Jakub Jelinek <jakub@redhat.com>
22
23 * regex.c (byte_re_match_2_internal): Avoid set but not used
24 warning.
25
4d9e8446
RW
262010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
27
28 * Makefile.in: Regenerate.
29 * aclocal.m4: Regenerate.
30 * include/Makefile.in: Regenerate.
31 * man/Makefile.in: Regenerate.
32 * testsuite/Makefile.in: Regenerate.
33
f4b130bb
RO
342010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
35
36 * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
37 * configure: Regenerate.
38 * fficonfig.h.in: Regenerate.
39 * libffi/src/x86/unix64.S (.eh_frame)
40 [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
41
22faf004
RO
422010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
43
44 * doc/libffi.texi (The Closure API): Fix typo.
45 * doc/libffi.info: Remove.
46
694d3cfd
MK
472010-02-15 Matthias Klose <doko@ubuntu.com>
48
49 * src/arm/sysv.S (__ARM_ARCH__): Define for processor
50 __ARM_ARCH_7EM__.
51
f2e994f3
CI
522010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
53
54 * doc/libffi.texi: Add closure example.
55
ec168029
RO
562010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
57
58 PR libffi/40701
59 * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
60 PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
61 * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
62 alpha*-dec-osf*.
63 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
64 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
65 * testsuite/libffi.call/return_ll1.c: Likewise.
66 * testsuite/libffi.call/stret_medium2.c: Likewise.
67 * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
68 MAP_FAILED to char *.
69
86d1b9d1
RO
702010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
71
72 * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
73
78542dee
AG
742009-12-31 Anthony Green <green@redhat.com>
75
76 * README: Update for libffi 3.0.9.
77
50117ecb
MK
782009-12-27 Matthias Klose <doko@ubuntu.com>
79
80 * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
81 appropriate.
82 * configure: Rebuilt.
83
bc472c00
AG
842009-12-26 Anthony Green <green@redhat.com>
85
86 * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
87 avr32*-*-*.
88 * testsuite/libffi.call/cls_double_va.c: Ditto.
89
d7e9538e
AT
902009-12-26 Andreas Tobler <a.tobler@schweiz.org>
91
92 * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
93 and inttypes.h.
94 * testsuite/libffi.special/unwindtest.cc: Ditto.
95
cb14fcb8
AT
962009-12-26 Andreas Tobler <a.tobler@schweiz.org>
97
98 * configure.ac: Add amd64-*-openbsd*.
99 * configure: Rebuilt.
100 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
101 openbsd programs with -lpthread.
102
1098bcf8
AG
1032009-12-26 Anthony Green <green@redhat.com>
104
105 * testsuite/libffi.call/cls_double_va.c,
106 testsuite/libffi.call/cls_longdouble.c,
107 testsuite/libffi.call/cls_longdouble_va.c,
108 testsuite/libffi.call/cls_pointer.c,
109 testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
110 mips*-*-* and arm*-*-*.
111 * testsuite/libffi.call/cls_align_longdouble_split.c,
112 testsuite/libffi.call/cls_align_longdouble_split2.c,
113 testsuite/libffi.call/stret_medium2.c,
114 testsuite/libffi.call/stret_medium.c,
115 testsuite/libffi.call/stret_large.c,
116 testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
117
a761df3d
AG
1182009-12-31 Kay Tietz <ktietz70@googlemail.com>
119
120 * testsuite/libffi.call/ffitest.h,
121 testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
122 definitions.
123
1242009-12-31 Carlo Bramini <carlo.bramix@libero.it>
125
126 * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
127 * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
128 * configure: Rebuilt.
129 * Makefile.in: Rebuilt.
130
493278be
AG
1312009-12-31 Anthony Green <green@redhat.com>
132 Blake Chaffin.
133
134 * testsuite/libffi.call/huge_struct.c: New test case from Blake
135 Chaffin @ Apple.
136
72b79d39
DE
1372009-12-28 David Edelsohn <edelsohn@gnu.org>
138
139 * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
140 local variables.
141 (aix_adjust_aggregate_sizes): New function.
142 (ffi_prep_cif_machdep): Call it.
143
99fba2c4
AT
1442009-12-26 Andreas Tobler <a.tobler@schweiz.org>
145
146 * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
147 * configure: Regenerate.
148 * fficonfig.h.in: Likewise.
149 * src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
150 Solaris/x86.
151
302486f4
AS
1522009-12-26 Andreas Schwab <schwab@linux-m68k.org>
153
154 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
155 when a float arguments is passed in memory.
156 (ffi_closure_helper_SYSV): Mark general registers as used up when
157 a 64bit or soft-float long double argument is passed in memory.
158
b8f38e89 1592009-12-25 Matthias Klose <doko@ubuntu.com>
2c57b161
MK
160
161 * man/ffi_call.3: Fix #include in examples.
162 * doc/libffi.texi: Add dircategory.
163
c4205f77
FE
1642009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
165
166 * include/ffi.h.in: Placed '__GNUC__' ifdef around
167 '__attribute__((aligned(8)))' in ffi_closure, fixes compile for
168 IRIX MIPSPro c99.
169 * include/ffi_common.h: Added '__sgi' define to non
170 '__attribute__((__mode__()))' integer typedefs.
302486f4 171 * src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
c4205f77
FE
172 ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
173 (ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
174 FFI_LONGDOUBLE support and alignment(N32 only).
175 * src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
176 fixed non '__attribute__((__mode__()))' integer typedefs.
177 * src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
178 since they are Linux/GNU Assembler specific.
179
124f60ab
BS
1802009-12-25 Bradley Smith <brad@brad-smith.co.uk>
181
182 * configure.ac, Makefile.am, src/avr32/ffi.c,
183 src/avr32/ffitarget.h,
184 src/avr32/sysv.S: Add AVR32 port.
185 * configure, Makefile.in: Rebuilt.
186
938a483f
AT
1872009-12-21 Andreas Tobler <a.tobler@schweiz.org>
188
189 * configure.ac: Make i?86 build on FreeBSD and OpenBSD.
190 * configure: Regenerate.
191
2516c7cd
JDA
1922009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
193
194 * testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
195
f93a40ea
JDA
1962009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
197
198 * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
199 type on HP-UX.
200
fb01d970
EB
2012009-12-11 Eric Botcazou <ebotcazou@adacore.com>
202
203 * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
204 double' arguments.
205
2ea54b81
EB
2062009-12-11 Eric Botcazou <ebotcazou@adacore.com>
207
208 * testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
209
dcb00f2e
RO
2102009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
211
212 PR libffi/40700
213 * src/closures.c [X86_64 && __sun__ && __svr4__]
214 (FFI_MMAP_EXEC_WRIT): Define.
215
6c6859a1
DD
2162009-12-08 David Daney <ddaney@caviumnetworks.com>
217
218 * testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
219 * testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
220 * testsuite/libffi.call/stret_large.c: Same.
221 * testsuite/libffi.call/cls_align_longdouble_split.c: Same.
222 * testsuite/libffi.call/stret_large2.c: Same.
223 * testsuite/libffi.call/stret_medium2.c: Same.
224
9e7e65a0
DE
2252009-12-07 David Edelsohn <edelsohn@gnu.org>
226
227 * src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
228 typo.
229
5d7fc941
DE
2302009-12-05 David Edelsohn <edelsohn@gnu.org>
231
232 * src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
233 code.
9e7e65a0 234 * src/powerpc/aix_closure.S: Same.
6c6859a1 235
43e02a8a
RW
2362009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
237
238 * Makefile.in: Regenerate.
239 * configure: Regenerate.
240 * include/Makefile.in: Regenerate.
241 * man/Makefile.in: Regenerate.
242 * testsuite/Makefile.in: Regenerate.
243
2f2d7386
DE
2442009-12-04 David Edelsohn <edelsohn@gnu.org>
245
246 * src/powerpc/aix_closure.S: Reorganize 64-bit code to match
302486f4 247 linux64_closure.S.
6c6859a1 248
6078f50a
UB
2492009-12-04 Uros Bizjak <ubizjak@gmail.com>
250
251 PR libffi/41908
252 * src/x86/ffi64.c (classify_argument): Update from
253 gcc/config/i386/i386.c.
254 (ffi_closure_unix64_inner): Do not use the address of two consecutive
255 SSE registers directly.
256 * testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
257 for x86_64 linux targets.
258
0c552622
DE
2592009-12-04 David Edelsohn <edelsohn@gnu.org>
260
261 * src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
262 pfr for long double split between fpr13 and stack.
263
afb5e622
DE
2642009-12-03 David Edelsohn <edelsohn@gnu.org>
265
266 * src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
267 fparg_count twice for long double.
268
be311914
DE
2692009-12-03 David Edelsohn <edelsohn@gnu.org>
270
271 PR libffi/42243
272 * src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
273
a27c4040
UB
2742009-12-03 Uros Bizjak <ubizjak@gmail.com>
275
276 * testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
ddf6c187 277 Remove xfails for x86 linux targets.
a27c4040 278
7837c247
DE
2792009-12-02 David Edelsohn <edelsohn@gnu.org>
280
281 * src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
282 case.
283
2842009-12-01 David Edelsohn <edelsohn@gnu.org>
6d518d3b
DE
285
286 * src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
287 register usage. Call ffi_prep_args directly. Add long double
288 return value support.
289 * src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
290 applies to FFI_TYPE_DOUBLE. Correct fpr_base increment typo.
291 Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
292 (ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
293 mode.
294 (ffi_closure_helper_DARWIN): Remove nf and ng counters. Move temp
295 into case.
296 * src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
297 Allocate result area between params and FPRs.
298
5751cf6f
DE
2992009-11-30 David Edelsohn <edelsohn@gnu.org>
300
301 PR target/35484
302 * src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
303 AIX64.
304 * src/powerpc/aix.S: Implement AIX64 version.
305 * src/powerpc/aix_closure.S: Implement AIX64 version.
306 (ffi_closure_ASM): Use extsb, lha and displament addresses.
307 * src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
308 support.
309 (ffi_prep_cif_machdep): Same.
310 (ffi_call): Same.
311 (ffi_closure_helper_DARWIN): Same.
312
2265f646
AT
3132009-11-02 Andreas Tobler <a.tobler@schweiz.org>
314
315 PR libffi/41908
316 * testsuite/libffi.call/testclosure.c: New test.
317
ef6ed66d
KT
3182009-09-28 Kai Tietz <kai.tietz@onevision.com>
319
320 * src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
321 assembly version use of ___chkstk.
322
29d1370a
MK
3232009-09-23 Matthias Klose <doko@ubuntu.com>
324
325 PR libffi/40242, PR libffi/41443
326 * src/arm/sysv.S (__ARM_ARCH__): Define for processors
327 __ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
328 __ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
329 Change the conditionals to __SOFTFP__ || __ARM_EABI__
330 for -mfloat-abi=softfp to work.
331
987ce557
LR
3322009-09-17 Loren J. Rittle <ljrittle@acm.org>
333
334 PR testsuite/32843 (strikes again)
335 * src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
336 enable proper extension on char and short.
337
5cbf8c8d
DD
3382009-09-15 David Daney <ddaney@caviumnetworks.com>
339
340 * src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
341 handling for FFI_TYPE_POINTER.
342 * src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
343 FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
344 FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
345 FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
346 (FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
347 (enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
348 * src/mips/n32.S (ffi_call_N32): Add handling for soft-float
349 structure and pointer returns.
350 (ffi_closure_N32): Add handling for pointer returns.
351 * src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
352 calc_n32_return_struct_flags): Handle soft-float.
353 (ffi_prep_cif_machdep): Handle soft-float, fix pointer handling.
354 (ffi_call_N32): Declare proper argument types.
355 (ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
356 soft-float.
357
df58e648
RW
3582009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
359
360 * configure.ac (AC_PREREQ): Bump to 2.64.
361
5213506e
RW
3622009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
363
70fa0efa
RW
364 * Makefile.am (install-html, install-pdf): Remove.
365 * Makefile.in: Regenerate.
366
5213506e
RW
367 * Makefile.in: Regenerate.
368 * aclocal.m4: Regenerate.
369 * configure: Regenerate.
370 * fficonfig.h.in: Regenerate.
371 * include/Makefile.in: Regenerate.
372 * man/Makefile.in: Regenerate.
373 * testsuite/Makefile.in: Regenerate.
374
1b3b24c2
RW
3752009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
376
377 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
378
723512ba
DK
3792009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
380
381 PR libffi/40807
382 * src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
383 return types for X86_WIN32.
384 * src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
385 (_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
386 _ffi_closure_STDCALL): Likewise.
387
388 * src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
389 (dlmmap, dlmunmap): Also use these functions on Cygwin.
390
33cde516
RS
3912009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
392
393 PR testsuite/40699
394 PR testsuite/40707
395 PR testsuite/40709
396 * testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
397 2009-06-30 commits.
398
edd3a61c
RS
3992009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
400
401 * testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
402 to "" before adding paths. (This reinstates an assignment that
403 was removed by my 2009-06-30 commit, but changes the initial
404 value from "." to "".)
405
33d1a550
L
4062009-07-01 H.J. Lu <hongjiu.lu@intel.com>
407
408 PR testsuite/40601
409 * testsuite/lib/libffi-dg.exp (libffi-init): Properly set
410 gccdir. Adjust ld_library_path for gcc only if gccdir isn't
411 empty.
412
b30bfd40
RS
4132009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
414
415 * testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
416 to ld_library_path. Use add_path. Add just find_libgcc_s
417 to ld_library_path, not every libgcc multilib directory.
418
6975f17f
WL
4192009-06-16 Wim Lewis <wiml@hhhh.org>
420
421 * src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
422 supposed to be callee-saved.
423 * src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
424 return buffer for odd-size structs.
425
7bbcc286
AT
4262009-06-16 Andreas Tobler <a.tobler@schweiz.org>
427
428 PR libffi/40444
429 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
430 allow_stack_execute for Darwin.
431
fe673cc9
AH
4322009-06-16 Andrew Haley <aph@redhat.com>
433
434 * configure.ac (TARGETDIR): Add missing blank lines.
435 * configure: Regenerate.
436
3bc462c2
AH
4372009-06-16 Andrew Haley <aph@redhat.com>
438
439 * testsuite/libffi.call/cls_align_sint64.c,
440 testsuite/libffi.call/cls_align_uint64.c,
441 testsuite/libffi.call/cls_longdouble_va.c,
442 testsuite/libffi.call/cls_ulonglong.c,
443 testsuite/libffi.call/return_ll1.c,
444 testsuite/libffi.call/stret_medium2.c: Fix printf format
445 specifiers.
446 * testsuite/libffi.call/ffitest.h,
447 testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
448
081b044b
AH
4492009-06-15 Andrew Haley <aph@redhat.com>
450
451 * testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
452 * testsuite/libffi.call/err_bad_abi.c: Likewise.
302486f4 453
062b8279
AH
4542009-06-12 Andrew Haley <aph@redhat.com>
455
456 * Makefile.am: Remove info_TEXINFOS.
457
4582009-06-12 Andrew Haley <aph@redhat.com>
459
460 * ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
461 testsuite/libffi.call/cls_align_uint64.c,
462 testsuite/libffi.call/cls_ulonglong.c,
463 testsuite/libffi.call/return_ll1.c,
464 testsuite/libffi.call/stret_medium2.c: Fix printf format
465 specifiers.
466 testsuite/libffi.special/unwindtest.cc: include stdint.h.
467
4682009-06-11 Timothy Wall <twall@users.sf.net>
469
470 * Makefile.am,
302486f4
AS
471 configure.ac,
472 include/ffi.h.in,
473 include/ffi_common.h,
474 src/closures.c,
475 src/dlmalloc.c,
476 src/x86/ffi.c,
477 src/x86/ffitarget.h,
478 src/x86/win64.S (new),
062b8279 479 README: Added win64 support (mingw or MSVC)
302486f4
AS
480 * Makefile.in,
481 include/Makefile.in,
482 man/Makefile.in,
483 testsuite/Makefile.in,
484 configure,
485 aclocal.m4: Regenerated
486 * ltcf-c.sh: properly escape cygwin/w32 path
487 * man/ffi_call.3: Clarify size requirements for return value.
488 * src/x86/ffi64.c: Fix filename in comment.
489 * src/x86/win32.S: Remove unused extern.
490
491 * testsuite/libffi.call/closure_fn0.c,
492 testsuite/libffi.call/closure_fn1.c,
493 testsuite/libffi.call/closure_fn2.c,
494 testsuite/libffi.call/closure_fn3.c,
495 testsuite/libffi.call/closure_fn4.c,
496 testsuite/libffi.call/closure_fn5.c,
497 testsuite/libffi.call/closure_fn6.c,
062b8279
AH
498 testsuite/libffi.call/closure_stdcall.c,
499 testsuite/libffi.call/cls_12byte.c,
500 testsuite/libffi.call/cls_16byte.c,
501 testsuite/libffi.call/cls_18byte.c,
502 testsuite/libffi.call/cls_19byte.c,
503 testsuite/libffi.call/cls_1_1byte.c,
504 testsuite/libffi.call/cls_20byte.c,
505 testsuite/libffi.call/cls_20byte1.c,
506 testsuite/libffi.call/cls_24byte.c,
507 testsuite/libffi.call/cls_2byte.c,
508 testsuite/libffi.call/cls_3_1byte.c,
509 testsuite/libffi.call/cls_3byte1.c,
510 testsuite/libffi.call/cls_3byte2.c,
511 testsuite/libffi.call/cls_4_1byte.c,
512 testsuite/libffi.call/cls_4byte.c,
513 testsuite/libffi.call/cls_5_1_byte.c,
514 testsuite/libffi.call/cls_5byte.c,
515 testsuite/libffi.call/cls_64byte.c,
516 testsuite/libffi.call/cls_6_1_byte.c,
517 testsuite/libffi.call/cls_6byte.c,
518 testsuite/libffi.call/cls_7_1_byte.c,
519 testsuite/libffi.call/cls_7byte.c,
520 testsuite/libffi.call/cls_8byte.c,
521 testsuite/libffi.call/cls_9byte1.c,
522 testsuite/libffi.call/cls_9byte2.c,
523 testsuite/libffi.call/cls_align_double.c,
524 testsuite/libffi.call/cls_align_float.c,
525 testsuite/libffi.call/cls_align_longdouble.c,
526 testsuite/libffi.call/cls_align_longdouble_split.c,
527 testsuite/libffi.call/cls_align_longdouble_split2.c,
528 testsuite/libffi.call/cls_align_pointer.c,
529 testsuite/libffi.call/cls_align_sint16.c,
530 testsuite/libffi.call/cls_align_sint32.c,
531 testsuite/libffi.call/cls_align_sint64.c,
532 testsuite/libffi.call/cls_align_uint16.c,
533 testsuite/libffi.call/cls_align_uint32.c,
534 testsuite/libffi.call/cls_align_uint64.c,
535 testsuite/libffi.call/cls_dbls_struct.c,
536 testsuite/libffi.call/cls_double.c,
537 testsuite/libffi.call/cls_double_va.c,
538 testsuite/libffi.call/cls_float.c,
539 testsuite/libffi.call/cls_longdouble.c,
540 testsuite/libffi.call/cls_longdouble_va.c,
541 testsuite/libffi.call/cls_multi_schar.c,
542 testsuite/libffi.call/cls_multi_sshort.c,
543 testsuite/libffi.call/cls_multi_sshortchar.c,
544 testsuite/libffi.call/cls_multi_uchar.c,
545 testsuite/libffi.call/cls_multi_ushort.c,
546 testsuite/libffi.call/cls_multi_ushortchar.c,
547 testsuite/libffi.call/cls_pointer.c,
548 testsuite/libffi.call/cls_pointer_stack.c,
549 testsuite/libffi.call/cls_schar.c,
550 testsuite/libffi.call/cls_sint.c,
551 testsuite/libffi.call/cls_sshort.c,
552 testsuite/libffi.call/cls_uchar.c,
553 testsuite/libffi.call/cls_uint.c,
554 testsuite/libffi.call/cls_ulonglong.c,
555 testsuite/libffi.call/cls_ushort.c,
556 testsuite/libffi.call/err_bad_abi.c,
557 testsuite/libffi.call/err_bad_typedef.c,
558 testsuite/libffi.call/float2.c,
559 testsuite/libffi.call/huge_struct.c,
560 testsuite/libffi.call/nested_struct.c,
561 testsuite/libffi.call/nested_struct1.c,
562 testsuite/libffi.call/nested_struct10.c,
563 testsuite/libffi.call/nested_struct2.c,
564 testsuite/libffi.call/nested_struct3.c,
565 testsuite/libffi.call/nested_struct4.c,
566 testsuite/libffi.call/nested_struct5.c,
567 testsuite/libffi.call/nested_struct6.c,
568 testsuite/libffi.call/nested_struct7.c,
569 testsuite/libffi.call/nested_struct8.c,
570 testsuite/libffi.call/nested_struct9.c,
571 testsuite/libffi.call/problem1.c,
572 testsuite/libffi.call/return_ldl.c,
573 testsuite/libffi.call/return_ll1.c,
574 testsuite/libffi.call/stret_large.c,
575 testsuite/libffi.call/stret_large2.c,
576 testsuite/libffi.call/stret_medium.c,
577 testsuite/libffi.call/stret_medium2.c,
302486f4
AS
578 testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
579 of checking for MMAP. Use intptr_t instead of long casts.
062b8279 580
f43def61
KK
5812009-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
582
583 * testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
584 * testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
585 * testsuite/libffi.call/err_bad_typedef.c: Likewise.
586
6aa0b218
AH
5872009-06-09 Andrew Haley <aph@redhat.com>
588
589 * src/x86/freebsd.S: Add missing file.
590
b7b857bb
AH
5912009-06-08 Andrew Haley <aph@redhat.com>
592
593 Import from libffi 3.0.8:
594
595 * doc/libffi.texi: New file.
596 * doc/libffi.info: Likewise.
597 * doc/stamp-vti: Likewise.
598 * man/Makefile.am: New file.
599 * man/ffi_call.3: New file.
600
601 * Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
602 src/dlmalloc.c.
603 (nodist_libffi_la_SOURCES): Add X86_FREEBSD.
604
605 * configure.ac: Bump version to 3.0.8.
606 parisc*-*-linux*: Add.
607 i386-*-freebsd* | i386-*-openbsd*: Add.
608 powerpc-*-beos*: Add.
609 AM_CONDITIONAL X86_FREEBSD: Add.
610 AC_CONFIG_FILES: Add man/Makefile.
611
612 * include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
613
491e6ad1
AH
6142009-06-08 Andrew Haley <aph@redhat.com>
615
616 * README: Import from libffi 3.0.8.
617
3b5b1a73
AH
6182009-06-08 Andrew Haley <aph@redhat.com>
619
620 * testsuite/libffi.call/err_bad_abi.c: Add xfails.
621 * testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
622 * testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
623 * testsuite/libffi.call/err_bad_typedef.c: Add xfails.
624
625 * testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
626 * testsuite/libffi.call/stret_medium.c: Likewise.
627 * testsuite/libffi.call/stret_large2.c: Likewise.
628 * testsuite/libffi.call/stret_large.c: Likewise.
629
6302008-12-26 Timothy Wall <twall@users.sf.net>
631
302486f4
AS
632 * testsuite/libffi.call/cls_longdouble.c,
633 testsuite/libffi.call/cls_longdouble_va.c,
634 testsuite/libffi.call/cls_align_longdouble.c,
635 testsuite/libffi.call/cls_align_longdouble_split.c,
636 testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
637 failures on x86_64 cygwin/mingw.
3b5b1a73
AH
638
6392008-12-22 Timothy Wall <twall@users.sf.net>
640
302486f4
AS
641 * testsuite/libffi.call/closure_fn0.c,
642 testsuite/libffi.call/closure_fn1.c,
643 testsuite/libffi.call/closure_fn2.c,
644 testsuite/libffi.call/closure_fn3.c,
645 testsuite/libffi.call/closure_fn4.c,
646 testsuite/libffi.call/closure_fn5.c,
647 testsuite/libffi.call/closure_fn6.c,
648 testsuite/libffi.call/closure_loc_fn0.c,
649 testsuite/libffi.call/closure_stdcall.c,
650 testsuite/libffi.call/cls_align_pointer.c,
651 testsuite/libffi.call/cls_pointer.c,
652 testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
653 pointer to integer (intptr_t).
654 * testsuite/libffi.call/cls_longdouble.c: disable for win64.
3b5b1a73
AH
655
6562008-07-24 Anthony Green <green@redhat.com>
657
302486f4
AS
658 * testsuite/libffi.call/cls_dbls_struct.c,
659 testsuite/libffi.call/cls_double_va.c,
660 testsuite/libffi.call/cls_longdouble.c,
661 testsuite/libffi.call/cls_longdouble_va.c,
662 testsuite/libffi.call/cls_pointer.c,
663 testsuite/libffi.call/cls_pointer_stack.c,
664 testsuite/libffi.call/err_bad_abi.c: Clean up failures from
665 compiler warnings.
3b5b1a73
AH
666
6672008-03-04 Anthony Green <green@redhat.com>
302486f4
AS
668 Blake Chaffin
669 hos@tamanegi.org
670
671 * testsuite/libffi.call/cls_align_longdouble_split2.c
672 testsuite/libffi.call/cls_align_longdouble_split.c
673 testsuite/libffi.call/cls_dbls_struct.c
674 testsuite/libffi.call/cls_double_va.c
675 testsuite/libffi.call/cls_longdouble.c
676 testsuite/libffi.call/cls_longdouble_va.c
677 testsuite/libffi.call/cls_pointer.c
678 testsuite/libffi.call/cls_pointer_stack.c
679 testsuite/libffi.call/err_bad_abi.c
680 testsuite/libffi.call/err_bad_typedef.c
681 testsuite/libffi.call/stret_large2.c
682 testsuite/libffi.call/stret_large.c
683 testsuite/libffi.call/stret_medium2.c
684 testsuite/libffi.call/stret_medium.c: New tests from Apple.
3b5b1a73 685
56faec5e
AH
6862009-06-05 Andrew Haley <aph@redhat.com>
687
688 * src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
689 libffi.
690
90409e4c
AH
6912009-06-04 Andrew Haley <aph@redhat.com>
692
693 * src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
694 stdcall changes.
695
b1393750 6962008-02-26 Anthony Green <green@redhat.com>
302486f4 697 Thomas Heller <theller@ctypes.org>
b1393750 698
302486f4
AS
699 * src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
700 comment.
b1393750
AH
701
7022008-02-03 Timothy Wall <twall@users.sf.net>
703
302486f4
AS
704 * src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
705 offset based on code pointer, not data pointer.
b1393750
AH
706
7072008-01-31 Timothy Wall <twall@users.sf.net>
708
302486f4
AS
709 * testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
710 closures.
711 * src/x86/ffitarget.h: Increase size of trampoline for stdcall
712 closures.
713 * src/x86/win32.S: Add assembly for stdcall closure.
714 * src/x86/ffi.c: Initialize stdcall closure trampoline.
b1393750 715
96baa251
AH
7162009-06-04 Andrew Haley <aph@redhat.com>
717
718 * include/ffi.h.in: Change void (*)() to void (*)(void).
719 * src/x86/ffi.c: Likewise.
720
7446546a
AH
7212009-06-04 Andrew Haley <aph@redhat.com>
722
723 * src/powerpc/ppc_closure.S: Insert licence header.
724 * src/powerpc/linux64_closure.S: Likewise.
725 * src/m68k/sysv.S: Likewise.
726
727 * src/sh64/ffi.c: Change void (*)() to void (*)(void).
728 * src/powerpc/ffi.c: Likewise.
729 * src/powerpc/ffi_darwin.c: Likewise.
730 * src/m32r/ffi.c: Likewise.
731 * src/sh64/ffi.c: Likewise.
732 * src/x86/ffi64.c: Likewise.
733 * src/alpha/ffi.c: Likewise.
734 * src/alpha/osf.S: Likewise.
735 * src/frv/ffi.c: Likewise.
736 * src/s390/ffi.c: Likewise.
737 * src/pa/ffi.c: Likewise.
738 * src/pa/hpux32.S: Likewise.
739 * src/ia64/unix.S: Likewise.
740 * src/ia64/ffi.c: Likewise.
741 * src/sparc/ffi.c: Likewise.
742 * src/mips/ffi.c: Likewise.
743 * src/sh/ffi.c: Likewise.
744
7452008-02-15 David Daney <ddaney@avtrex.com>
746
302486f4
AS
747 * src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
748 Define (conditionally), and use it to include cachectl.h.
749 (ffi_prep_closure_loc): Fix cache flushing.
750 * src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
7446546a 751
5f933ef0
AH
7522009-06-04 Andrew Haley <aph@redhat.com>
753
754 include/ffi.h.in,
755 src/arm/ffitarget.h,
756 src/arm/ffi.c,
757 src/arm/sysv.S,
758 src/powerpc/ffitarget.h,
759 src/closures.c,
760 src/sh64/ffitarget.h,
761 src/sh64/ffi.c,
762 src/sh64/sysv.S,
763 src/types.c,
764 src/x86/ffi64.c,
765 src/x86/ffitarget.h,
766 src/x86/win32.S,
767 src/x86/darwin.S,
768 src/x86/ffi.c,
769 src/x86/sysv.S,
770 src/x86/unix64.S,
771 src/alpha/ffitarget.h,
772 src/alpha/ffi.c,
773 src/alpha/osf.S,
774 src/m68k/ffitarget.h,
775 src/frv/ffitarget.h,
776 src/frv/ffi.c,
777 src/s390/ffitarget.h,
778 src/s390/sysv.S,
779 src/cris/ffitarget.h,
780 src/pa/linux.S,
781 src/pa/ffitarget.h,
782 src/pa/ffi.c,
783 src/raw_api.c,
784 src/ia64/ffitarget.h,
785 src/ia64/unix.S,
786 src/ia64/ffi.c,
787 src/ia64/ia64_flags.h,
788 src/java_raw_api.c,
789 src/debug.c,
790 src/sparc/v9.S,
791 src/sparc/ffitarget.h,
792 src/sparc/ffi.c,
793 src/sparc/v8.S,
794 src/mips/ffitarget.h,
795 src/mips/n32.S,
796 src/mips/o32.S,
797 src/mips/ffi.c,
798 src/prep_cif.c,
799 src/sh/ffitarget.h,
800 src/sh/ffi.c,
801 src/sh/sysv.S: Update license text.
802
84c40c4a
DK
8032009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
804
805 * src/x86/win32.S (_ffi_closure_STDCALL): New function.
806 (.eh_frame): Add FDE for it.
807
8353cd27
DK
8082009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
809
810 * configure.ac: Also check if assembler supports pc-relative
811 relocs on X86_WIN32 targets.
812 * configure: Regenerate.
813 * src/x86/win32.S (ffi_prep_args): Declare extern, not global.
814 (_ffi_call_SYSV): Add missing function type symbol .def and
815 add EH markup labels.
816 (_ffi_call_STDCALL): Likewise.
817 (_ffi_closure_SYSV): Likewise.
818 (_ffi_closure_raw_SYSV): Likewise.
819 (.eh_frame): Add hand-crafted EH data.
820
748086b7
JJ
8212009-04-09 Jakub Jelinek <jakub@redhat.com>
822
823 * testsuite/lib/libffi-dg.exp: Change copyright header to refer to
824 version 3 of the GNU General Public License and to point readers
825 at the COPYING3 file and the FSF's license web page.
826 * testsuite/libffi.call/call.exp: Likewise.
827 * testsuite/libffi.special/special.exp: Likewise.
828
7a9d3fe8
RW
8292009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
830
831 * configure: Regenerate.
832
4d3d4078
RO
8332008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
834
835 PR libffi/26048
836 * configure.ac (HAVE_AS_X86_PCREL): New test.
837 * configure: Regenerate.
838 * fficonfig.h.in: Regenerate.
839 * src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
840 RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
841 RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
842 (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
843 * src/x86/unix64.S (.Lstore_table): Move to .text section.
844 (.Lload_table): Likewise.
845 (.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
846
baafc534
RW
8472008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
848
849 * configure: Regenerate.
850
da17a98b
EB
8512008-11-21 Eric Botcazou <ebotcazou@adacore.com>
852
853 * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
854 signed/unsigned int8/16 return values.
855 * src/sparc/v8.S (ffi_call_v8): Likewise.
856 (ffi_closure_v8): Likewise.
857
80c6c2cb 8582008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
302486f4 859 Steve Ellcey <sje@cup.hp.com>
80c6c2cb
PG
860
861 * configure: Regenerate for new libtool.
862 * Makefile.in: Ditto.
863 * include/Makefile.in: Ditto.
864 * aclocal.m4: Ditto.
865
d7f68a67
AT
8662008-08-25 Andreas Tobler <a.tobler@schweiz.org>
867
868 * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
869 FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
870 Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
871 Adjust copyright notice.
872 * src/powerpc/ffi.c: Add two new flags to indicate if we have one
873 register or two register to use for FFI_SYSV structs.
874 (ffi_prep_cif_machdep): Pass the right register flag introduced above.
875 (ffi_closure_helper_SYSV): Fix the return type for
876 FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
877 Adjust copyright notice.
878
130f4c50
KK
8792008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
880
881 * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
882 int.
883
18c04407
RW
8842008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
885
886 * configure: Regenerate.
887 * include/Makefile.in: Regenerate.
888 * testsuite/Makefile.in: Regenerate.
889
cd985f66
JM
8902008-06-07 Joseph Myers <joseph@codesourcery.com>
891
892 * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
893 powerpc-*-beos*): Remove.
894 * configure: Regenerate.
895
7afa92c5
JB
8962008-05-09 Julian Brown <julian@codesourcery.com>
897
898 * Makefile.am (LTLDFLAGS): New.
899 (libffi_la_LDFLAGS): Use above.
900 * Makefile.in: Regenerate.
901
deb984e6
PB
9022008-04-18 Paolo Bonzini <bonzini@gnu.org>
903
904 PR bootstrap/35457
905 * aclocal.m4: Regenerate.
906 * configure: Regenerate.
907
3e9608a5
KK
9082008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
909
910 * src/sh/sysv.S: Add .note.GNU-stack on Linux.
911 * src/sh64/sysv.S: Likewise.
912
feb51530
MK
9132008-03-26 Daniel Jacobowitz <dan@debian.org>
914
915 * src/arm/sysv.S: Fix ARM comment marker.
916
9172008-03-26 Jakub Jelinek <jakub@redhat.com>
918
919 * src/alpha/osf.S: Add .note.GNU-stack on Linux.
920 * src/s390/sysv.S: Likewise.
921 * src/powerpc/ppc_closure.S: Likewise.
922 * src/powerpc/sysv.S: Likewise.
923 * src/x86/unix64.S: Likewise.
924 * src/x86/sysv.S: Likewise.
925 * src/sparc/v8.S: Likewise.
926 * src/sparc/v9.S: Likewise.
927 * src/m68k/sysv.S: Likewise.
928 * src/arm/sysv.S: Likewise.
929
38d24731
RW
9302008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
931
932 * aclocal.m4: Regenerate.
933 * configure: Likewise.
934 * Makefile.in: Likewise.
935 * include/Makefile.in: Likewise.
936 * testsuite/Makefile.in: Likewise.
937
2e250fa2
BK
9382008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
939 Andreas Tobler <a.tobler@schweiz.org>
940
941 * configure.ac: Add amd64-*-freebsd* target.
942 * configure: Regenerate.
943
7f92e242
L
9442008-01-30 H.J. Lu <hongjiu.lu@intel.com>
945
946 PR libffi/34612
947 * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
948 returning struct.
949
950 * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
951 tests.
952
95d4f544
DE
9532008-01-24 David Edelsohn <edelsohn@gnu.org>
954
955 * configure: Regenerate.
956
79ca8fc0
AT
9572008-01-06 Andreas Tobler <a.tobler@schweiz.org>
958
959 * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
960
d7b07cc7
AT
9612008-01-05 Andreas Tobler <a.tobler@schweiz.org>
962
963 PR testsuite/32843
964 * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
965 signed/unsigned int8/16 for X86_DARWIN.
966 Updated copyright info.
967 Handle one and two byte structs with special cif->flags.
968 * src/x86/ffitarget.h: Add special types for one and two byte structs.
969 Updated copyright info.
970 * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
971 sysv.S
972 Remove code to pop args from the stack after call.
973 Special-case signed/unsigned for int8/16, one and two byte structs.
974 (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
975 FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
976 FFI_TYPE_SINT32.
977 Updated copyright info.
978
c94ae2e4
DD
9792007-12-08 David Daney <ddaney@avtrex.com>
980
302486f4 981 * src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
c94ae2e4
DD
982 SUBU, add with ADDU and use smaller code sequences.
983
3875b6d7 9842007-12-07 David Daney <ddaney@avtrex.com>
44be66a1 985
3875b6d7
DD
986 * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
987 type.
988
4c42b3d8
DD
9892007-12-06 David Daney <ddaney@avtrex.com>
990
991 * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
992 defined.
993 (ffi_java_raw): New typedef.
994 (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
995 ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
996 ffi_java_raw.
997 (ffi_java_raw_closure) : Same.
998 (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
999 parameter types.
1000 * src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
1001 FFI_SIZEOF_JAVA_RAW.
1002 (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
1003 Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
1004 sizeof(ffi_java_raw) for alignment calculations.
1005 (ffi_java_ptrarray_to_raw): Same.
1006 (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
302486f4 1007 if FFI_SIZEOF_JAVA_RAW == 4.
4c42b3d8
DD
1008 (ffi_java_raw_to_rvalue): Same.
1009 (ffi_java_raw_call): Change type of raw to ffi_java_raw.
1010 (ffi_java_translate_args): Same.
1011 (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
1012 parameter types.
1013 * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
1014
3ef50b62
DD
10152007-12-06 David Daney <ddaney@avtrex.com>
1016
302486f4 1017 * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
3ef50b62
DD
1018 pointer values.
1019
16287148
AT
10202007-12-01 Andreas Tobler <a.tobler@schweiz.org>
1021
1022 PR libffi/31937
1023 * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
1024 Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
1025 * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
1026 set the NUM_FPR_ARG_REGISTERS according to.
1027 Add support for potential soft-float support under hard-float
1028 architecture.
1029 (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
1030 FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
1031 to the FFI_LINUX_SOFT_FLOAT ABI.
1032 (ffi_prep_cif_machdep): Likewise.
1033 (ffi_closure_helper_SYSV): Likewise.
1034 * src/powerpc/ppc_closure.S: Make sure not to store float/double
1035 on archs where __NO_FPRS__ is true.
1036 Add FFI_TYPE_UINT128 support.
1037 * src/powerpc/sysv.S: Add support for soft-float long-double-128.
1038 Adjust copyright notice.
1039
a4b7c9cd
AT
10402007-11-25 Andreas Tobler <a.tobler@schweiz.org>
1041
1042 * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
1043 * include/ffi_common.h: ... here.
1044 Update copyright.
1045
e84296c6
AT
10462007-11-17 Andreas Tobler <a.tobler@schweiz.org>
1047
1048 * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
1049 * src/powerpc/linux64.S: Likewise.
1050 * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
1051 * testsuite/libffi.call/return_ldl.c: New test.
1052
cb642590
AH
10532007-09-04 <aph@redhat.com>
1054
1055 * src/arm/sysv.S (UNWIND): New.
1056 (Whole file): Conditionally compile unwinder directives.
1057 * src/arm/sysv.S: Add unwinder directives.
1058
1059 * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
1060 Only treat r0 as a struct address if we're actually returning a
1061 struct by address.
1062 Only copy the bytes that are actually within a struct.
1063 (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
1064 is returned in r0, not passed by address.
1065 (ffi_call): Allocate a word-sized temporary for the case where
1066 a composite is returned in r0.
1067 (ffi_prep_incoming_args_SYSV): Align as necessary.
1068
10692007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
1070
302486f4 1071 * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
cb642590
AH
1072 directly using the sys_cacheflush syscall.
1073
10742007-07-27 Andrew Haley <aph@redhat.com>
1075
1076 * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
1077
8d5c5e35
MR
10782007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
1079
1080 * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
1081 * configure.ac: Likewise.
1082 * Makefile.in: Regenerate.
1083 * include/Makefile.in: Likewise.
1084 * testsuite/Makefile.in: Likewise.
1085 * configure: Likewise.
1086
787b0d19
DD
10872007-08-24 David Daney <ddaney@avtrex.com>
1088
1089 * testsuite/libffi.call/return_sl.c: New test.
1090
dfbb3e36
DD
10912007-08-10 David Daney <ddaney@avtrex.com>
1092
1093 * testsuite/libffi.call/cls_multi_ushort.c,
1094 testsuite/libffi.call/cls_align_uint16.c,
1095 testsuite/libffi.call/nested_struct1.c,
1096 testsuite/libffi.call/nested_struct3.c,
1097 testsuite/libffi.call/cls_7_1_byte.c,
1098 testsuite/libffi.call/nested_struct5.c,
1099 testsuite/libffi.call/cls_double.c,
1100 testsuite/libffi.call/nested_struct7.c,
1101 testsuite/libffi.call/cls_sint.c,
1102 testsuite/libffi.call/nested_struct9.c,
1103 testsuite/libffi.call/cls_20byte1.c,
1104 testsuite/libffi.call/cls_multi_sshortchar.c,
1105 testsuite/libffi.call/cls_align_sint64.c,
1106 testsuite/libffi.call/cls_3byte2.c,
1107 testsuite/libffi.call/cls_multi_schar.c,
1108 testsuite/libffi.call/cls_multi_uchar.c,
1109 testsuite/libffi.call/cls_19byte.c,
1110 testsuite/libffi.call/cls_9byte1.c,
1111 testsuite/libffi.call/cls_align_float.c,
1112 testsuite/libffi.call/closure_fn1.c,
1113 testsuite/libffi.call/problem1.c,
1114 testsuite/libffi.call/closure_fn3.c,
1115 testsuite/libffi.call/cls_sshort.c,
1116 testsuite/libffi.call/closure_fn5.c,
1117 testsuite/libffi.call/cls_align_double.c,
1118 testsuite/libffi.call/nested_struct.c,
1119 testsuite/libffi.call/cls_2byte.c,
1120 testsuite/libffi.call/nested_struct10.c,
1121 testsuite/libffi.call/cls_4byte.c,
1122 testsuite/libffi.call/cls_6byte.c,
1123 testsuite/libffi.call/cls_8byte.c,
1124 testsuite/libffi.call/cls_multi_sshort.c,
1125 testsuite/libffi.call/cls_align_sint16.c,
1126 testsuite/libffi.call/cls_align_uint32.c,
1127 testsuite/libffi.call/cls_20byte.c,
1128 testsuite/libffi.call/cls_float.c,
1129 testsuite/libffi.call/nested_struct2.c,
1130 testsuite/libffi.call/cls_5_1_byte.c,
1131 testsuite/libffi.call/nested_struct4.c,
1132 testsuite/libffi.call/cls_24byte.c,
1133 testsuite/libffi.call/nested_struct6.c,
1134 testsuite/libffi.call/cls_64byte.c,
1135 testsuite/libffi.call/nested_struct8.c,
1136 testsuite/libffi.call/cls_uint.c,
1137 testsuite/libffi.call/cls_multi_ushortchar.c,
1138 testsuite/libffi.call/cls_schar.c,
1139 testsuite/libffi.call/cls_uchar.c,
1140 testsuite/libffi.call/cls_align_uint64.c,
1141 testsuite/libffi.call/cls_ulonglong.c,
1142 testsuite/libffi.call/cls_align_longdouble.c,
1143 testsuite/libffi.call/cls_1_1byte.c,
1144 testsuite/libffi.call/cls_12byte.c,
1145 testsuite/libffi.call/cls_3_1byte.c,
1146 testsuite/libffi.call/cls_3byte1.c,
1147 testsuite/libffi.call/cls_4_1byte.c,
1148 testsuite/libffi.call/cls_6_1_byte.c,
1149 testsuite/libffi.call/cls_16byte.c,
1150 testsuite/libffi.call/cls_18byte.c,
1151 testsuite/libffi.call/closure_fn0.c,
1152 testsuite/libffi.call/cls_9byte2.c,
1153 testsuite/libffi.call/closure_fn2.c,
1154 testsuite/libffi.call/closure_fn4.c,
1155 testsuite/libffi.call/cls_ushort.c,
1156 testsuite/libffi.call/closure_fn6.c,
1157 testsuite/libffi.call/cls_5byte.c,
1158 testsuite/libffi.call/cls_align_pointer.c,
1159 testsuite/libffi.call/cls_7byte.c,
1160 testsuite/libffi.call/cls_align_sint32.c,
1161 testsuite/libffi.special/unwindtest_ffi_call.cc,
1162 testsuite/libffi.special/unwindtest.cc: Remove xfail for mips64*-*-*.
1163
89d9d98a
DD
11642007-08-10 David Daney <ddaney@avtrex.com>
1165
1166 PR libffi/28313
1167 * configure.ac: Don't treat mips64 as a special case.
1168 * Makefile.am (nodist_libffi_la_SOURCES): Add n32.S.
1169 * configure: Regenerate
1170 * Makefile.in: Ditto.
1171 * fficonfig.h.in: Ditto.
1172 * src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent.
1173 (LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros.
1174 (FFI_DEFAULT_ABI): Set for n64 case.
1175 (FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases.
1176 * src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE.
1177 (ffi_closure_N32): New function.
1178 (.eh_frame): New section
1179 * src/mips/o32.S: Clean up comments.
1180 (ffi_closure_O32): Pass ffi_closure parameter in $12.
1181 * src/mips/ffi.c: Use FFI_MIPS_N32 instead of
1182 _MIPS_SIM == _ABIN32 throughout.
1183 (FFI_MIPS_STOP_HERE): New, use in place of
1184 ffi_stop_here.
1185 (ffi_prep_args): Use unsigned long to hold pointer values. Rewrite
1186 to support n32/n64 ABIs.
1187 (calc_n32_struct_flags): Rewrite.
1188 (calc_n32_return_struct_flags): Remove unused variable. Reverse
1189 position of flag bits.
1190 (ffi_prep_cif_machdep): Rewrite n32 portion.
1191 (ffi_call): Enable for n64. Add special handling for small structure
1192 return values.
1193 (ffi_prep_closure_loc): Add n32 and n64 support.
1194 (ffi_closure_mips_inner_O32): Add cast to silence warning.
1195 (copy_struct_N32, ffi_closure_mips_inner_N32): New functions.
1196
d23869d4
DD
11972007-08-08 David Daney <ddaney@avtrex.com>
1198
1199 * testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition.
1200 * testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
1201 specifiers.
1202 * testsuite/libffi.call/nested_struct1.c (main): Ditto.
1203 * testsuite/libffi.call/cls_sint.c (main): Ditto.
1204 * testsuite/libffi.call/nested_struct9.c (main): Ditto.
1205 * testsuite/libffi.call/cls_20byte1.c (main): Ditto.
1206 * testsuite/libffi.call/cls_9byte1.c (main): Ditto.
1207 * testsuite/libffi.call/closure_fn1.c (main): Ditto.
1208 * testsuite/libffi.call/closure_fn3.c (main): Ditto.
1209 * testsuite/libffi.call/return_dbl2.c (main): Ditto.
1210 * testsuite/libffi.call/cls_sshort.c (main): Ditto.
1211 * testsuite/libffi.call/return_fl3.c (main): Ditto.
1212 * testsuite/libffi.call/closure_fn5.c (main): Ditto.
1213 * testsuite/libffi.call/nested_struct.c (main): Ditto.
1214 * testsuite/libffi.call/nested_struct10.c (main): Ditto.
1215 * testsuite/libffi.call/return_ll1.c (main): Ditto.
1216 * testsuite/libffi.call/cls_8byte.c (main): Ditto.
1217 * testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
1218 * testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
1219 * testsuite/libffi.call/cls_20byte.c (main): Ditto.
1220 * testsuite/libffi.call/nested_struct2.c (main): Ditto.
1221 * testsuite/libffi.call/cls_24byte.c (main): Ditto.
1222 * testsuite/libffi.call/nested_struct6.c (main): Ditto.
1223 * testsuite/libffi.call/cls_uint.c (main): Ditto.
1224 * testsuite/libffi.call/cls_12byte.c (main): Ditto.
1225 * testsuite/libffi.call/cls_16byte.c (main): Ditto.
1226 * testsuite/libffi.call/closure_fn0.c (main): Ditto.
1227 * testsuite/libffi.call/cls_9byte2.c (main): Ditto.
1228 * testsuite/libffi.call/closure_fn2.c (main): Ditto.
1229 * testsuite/libffi.call/return_dbl1.c (main): Ditto.
1230 * testsuite/libffi.call/closure_fn4.c (main): Ditto.
1231 * testsuite/libffi.call/closure_fn6.c (main): Ditto.
1232 * testsuite/libffi.call/cls_align_sint32.c (main): Ditto.
1233
536e0a8f
AH
12342007-08-07 Andrew Haley <aph@redhat.com>
1235
1236 * src/x86/sysv.S (ffi_closure_raw_SYSV): Fix typo in previous
1237 checkin.
1238
7665c9be
AH
12392007-08-06 Andrew Haley <aph@redhat.com>
1240
1241 PR testsuite/32843
1242 * src/x86/sysv.S (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
1243 FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
1244 FFI_TYPE_SINT32.
1245
58e11497
DD
12462007-08-02 David Daney <ddaney@avtrex.com>
1247
1248 * testsuite/libffi.call/return_ul.c (main): Define return type as
1249 ffi_arg. Use proper printf conversion specifier.
302486f4 1250
387cfbba
AH
12512007-07-30 Andrew Haley <aph@redhat.com>
1252
1253 PR testsuite/32843
1254 * src/x86/ffi.c (ffi_prep_cif_machdep): in x86 case, add code for
1255 signed/unsigned int8/16.
1256 * src/x86/sysv.S (ffi_call_SYSV): Rewrite to:
1257 Use a jump table.
1258 Remove code to pop args from the stack after call.
1259 Special-case signed/unsigned int8/16.
1260 * testsuite/libffi.call/return_sc.c (main): Revert.
1261
0ee0208e
RG
12622007-07-26 Richard Guenther <rguenther@suse.de>
1263
1264 PR testsuite/32843
1265 * testsuite/libffi.call/return_sc.c (main): Verify call
1266 result as signed char, not ffi_arg.
1267
04a49983
RO
12682007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1269
1270 * configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64.
1271 * configure: Regenerate.
1272
433e6a8c
DD
12732007-07-11 David Daney <ddaney@avtrex.com>
1274
1275 * src/mips/ffi.c: Don't include sys/cachectl.h.
1276 (ffi_prep_closure_loc): Use __builtin___clear_cache() instead of
1277 cacheflush().
1278
0959e2b8
AH
12792007-05-18 Aurelien Jarno <aurelien@aurel32.net>
1280
1281 * src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted
1282 from (ffi_prep_closure): ... this.
1283 (FFI_INIT_TRAMPOLINE): Adjust.
1284
12852005-12-31 Phil Blundell <pb@reciva.com>
1286
302486f4
AS
1287 * src/arm/ffi.c (ffi_prep_incoming_args_SYSV,
1288 ffi_closure_SYSV_inner, ffi_prep_closure): New, add closure support.
0959e2b8
AH
1289 * src/arm/sysv.S(ffi_closure_SYSV): Likewise.
1290 * src/arm/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
1291 (FFI_CLOSURES): Enable closure support.
1292
12932007-07-03 Andrew Haley <aph@hedges.billgatliff.com>
1294
302486f4
AS
1295 * testsuite/libffi.call/cls_multi_ushort.c,
1296 testsuite/libffi.call/cls_align_uint16.c,
1297 testsuite/libffi.call/nested_struct1.c,
1298 testsuite/libffi.call/nested_struct3.c,
1299 testsuite/libffi.call/cls_7_1_byte.c,
1300 testsuite/libffi.call/cls_double.c,
1301 testsuite/libffi.call/nested_struct5.c,
1302 testsuite/libffi.call/nested_struct7.c,
1303 testsuite/libffi.call/cls_sint.c,
1304 testsuite/libffi.call/nested_struct9.c,
1305 testsuite/libffi.call/cls_20byte1.c,
1306 testsuite/libffi.call/cls_multi_sshortchar.c,
1307 testsuite/libffi.call/cls_align_sint64.c,
1308 testsuite/libffi.call/cls_3byte2.c,
1309 testsuite/libffi.call/cls_multi_schar.c,
1310 testsuite/libffi.call/cls_multi_uchar.c,
1311 testsuite/libffi.call/cls_19byte.c,
1312 testsuite/libffi.call/cls_9byte1.c,
1313 testsuite/libffi.call/cls_align_float.c,
1314 testsuite/libffi.call/closure_fn1.c,
1315 testsuite/libffi.call/problem1.c,
1316 testsuite/libffi.call/closure_fn3.c,
1317 testsuite/libffi.call/cls_sshort.c,
1318 testsuite/libffi.call/closure_fn5.c,
1319 testsuite/libffi.call/cls_align_double.c,
1320 testsuite/libffi.call/cls_2byte.c,
1321 testsuite/libffi.call/nested_struct.c,
1322 testsuite/libffi.call/nested_struct10.c,
1323 testsuite/libffi.call/cls_4byte.c,
1324 testsuite/libffi.call/cls_6byte.c,
1325 testsuite/libffi.call/cls_8byte.c,
1326 testsuite/libffi.call/cls_multi_sshort.c,
1327 testsuite/libffi.call/cls_align_uint32.c,
1328 testsuite/libffi.call/cls_align_sint16.c,
1329 testsuite/libffi.call/cls_float.c,
1330 testsuite/libffi.call/cls_20byte.c,
1331 testsuite/libffi.call/cls_5_1_byte.c,
1332 testsuite/libffi.call/nested_struct2.c,
1333 testsuite/libffi.call/cls_24byte.c,
1334 testsuite/libffi.call/nested_struct4.c,
1335 testsuite/libffi.call/nested_struct6.c,
1336 testsuite/libffi.call/cls_64byte.c,
1337 testsuite/libffi.call/nested_struct8.c,
1338 testsuite/libffi.call/cls_uint.c,
1339 testsuite/libffi.call/cls_multi_ushortchar.c,
1340 testsuite/libffi.call/cls_schar.c,
1341 testsuite/libffi.call/cls_uchar.c,
1342 testsuite/libffi.call/cls_align_uint64.c,
1343 testsuite/libffi.call/cls_ulonglong.c,
1344 testsuite/libffi.call/cls_align_longdouble.c,
1345 testsuite/libffi.call/cls_1_1byte.c,
1346 testsuite/libffi.call/cls_12byte.c,
1347 testsuite/libffi.call/cls_3_1byte.c,
1348 testsuite/libffi.call/cls_3byte1.c,
1349 testsuite/libffi.call/cls_4_1byte.c,
1350 testsuite/libffi.call/cls_6_1_byte.c,
1351 testsuite/libffi.call/cls_16byte.c,
1352 testsuite/libffi.call/cls_18byte.c,
1353 testsuite/libffi.call/closure_fn0.c,
1354 testsuite/libffi.call/cls_9byte2.c,
1355 testsuite/libffi.call/closure_fn2.c,
1356 testsuite/libffi.call/closure_fn4.c,
1357 testsuite/libffi.call/cls_ushort.c,
1358 testsuite/libffi.call/closure_fn6.c,
1359 testsuite/libffi.call/cls_5byte.c,
1360 testsuite/libffi.call/cls_align_pointer.c,
1361 testsuite/libffi.call/cls_7byte.c,
1362 testsuite/libffi.call/cls_align_sint32.c,
1363 testsuite/libffi.special/unwindtest_ffi_call.cc,
1364 testsuite/libffi.special/unwindtest.cc: Enable for ARM.
0959e2b8 1365
12a27363
L
13662007-07-05 H.J. Lu <hongjiu.lu@intel.com>
1367
1368 * aclocal.m4: Regenerated.
1369
82a6cadf
PB
13702007-06-02 Paolo Bonzini <bonzini@gnu.org>
1371
1372 * configure: Regenerate.
1373
1cf3d07d
SE
13742007-05-23 Steve Ellcey <sje@cup.hp.com>
1375
1376 * Makefile.in: Regenerate.
1377 * configure: Regenerate.
1378 * aclocal.m4: Regenerate.
1379 * include/Makefile.in: Regenerate.
1380 * testsuite/Makefile.in: Regenerate.
1381
5635c26e
RZ
13822007-05-10 Roman Zippel <zippel@linux-m68k.org>
1383
1384 * src/m68k/ffi.c (ffi_prep_incoming_args_SYSV,
1385 ffi_closure_SYSV_inner,ffi_prep_closure): New, add closure support.
1386 * src/m68k/sysv.S(ffi_closure_SYSV,ffi_closure_struct_SYSV): Likewise.
1387 * src/m68k/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
1388 (FFI_CLOSURES): Enable closure support.
1389
e6fbf387
RZ
13902007-05-10 Roman Zippel <zippel@linux-m68k.org>
1391
1392 * configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test.
1393 * configure: Regenerate.
1394 * fficonfig.h.in: Regenerate.
1395 * src/m68k/sysv.S (CFI_STARTPROC,CFI_ENDPROC,
1396 CFI_OFFSET,CFI_DEF_CFA): New macros.
1397 (ffi_call_SYSV): Add callframe annotation.
1398
b5296e52
RZ
13992007-05-10 Roman Zippel <zippel@linux-m68k.org>
1400
1401 * src/m68k/ffi.c (ffi_prep_args,ffi_prep_cif_machdep): Fix
1402 numerous test suite failures.
1403 * src/m68k/sysv.S (ffi_call_SYSV): Likewise.
1404
bd61d708
PB
14052007-04-11 Paolo Bonzini <bonzini@gnu.org>
1406
1407 * Makefile.am (EXTRA_DIST): Bring up to date.
1408 * Makefile.in: Regenerate.
1409 * src/frv/eabi.S: Remove RCS keyword.
1410
bf8da5fc
RH
14112007-04-06 Richard Henderson <rth@redhat.com>
1412
1413 * configure.ac: Tidy target case.
1414 (HAVE_LONG_DOUBLE): Allow the target to override.
1415 * configure: Regenerate.
1416 * include/ffi.h.in: Don't define ffi_type_foo if
1417 LIBFFI_HIDE_BASIC_TYPES is defined.
1418 (ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
1419 to ffi_type_double.
1420 * types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
1421 (FFI_TYPEDEF, ffi_type_void): Mark the data const.
1422 (ffi_type_longdouble): Special case for Alpha. Don't define
1423 if long double == double.
1424
1425 * src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
1426 (ffi_prep_cif_machdep): Handle it as the 128-bit type.
1427 (ffi_call, ffi_closure_osf_inner): Likewise.
1428 (ffi_closure_osf_inner): Likewise. Mark hidden.
1429 (ffi_call_osf, ffi_closure_osf): Mark hidden.
1430 * src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
1431 * src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
1432 (load_table): Handle 128-bit long double.
1433
1434 * testsuite/libffi.call/float4.c: Add -mieee for alpha.
1435
8669fed1
TT
14362007-04-06 Tom Tromey <tromey@redhat.com>
1437
1438 PR libffi/31491:
1439 * README: Fixed bug in example.
1440
f0920e6c
JJ
14412007-04-03 Jakub Jelinek <jakub@redhat.com>
1442
1443 * src/closures.c: Include sys/statfs.h.
1444 (_GNU_SOURCE): Define on Linux.
1445 (FFI_MMAP_EXEC_SELINUX): Define.
1446 (selinux_enabled): New variable.
1447 (selinux_enabled_check): New function.
1448 (is_selinux_enabled): Define.
1449 (dlmmap): Use it.
1450
34a6ccda
UB
14512007-03-24 Uros Bizjak <ubizjak@gmail.com>
1452
1453 * testsuite/libffi.call/return_fl2.c (return_fl): Mark as static.
1454 Use 'volatile float sum' to create sum of floats to avoid false
1455 negative due to excess precision on ix86 targets.
302486f4 1456 (main): Ditto.
34a6ccda 1457
8b9cf39e
AO
14582007-03-08 Alexandre Oliva <aoliva@redhat.com>
1459
1460 * src/powerpc/ffi.c (flush_icache): Fix left-over from previous
1461 patch.
1462 (ffi_prep_closure_loc): Remove unneeded casts. Add needed ones.
1463
18fa3240
AO
14642007-03-07 Alexandre Oliva <aoliva@redhat.com>
1465
1466 * include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
1467 (ffi_prep_closure_loc): New.
1468 (ffi_prep_raw_closure_loc): New.
1469 (ffi_prep_java_raw_closure_loc): New.
1470 * src/closures.c: New file.
1471 * src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
1472 Replace sflags with exec_offset.
1473 [FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
1474 sub_segment_exec_offset): New macros.
1475 (get_segment_flags, set_segment_flags, check_segment_merge): New
1476 macros.
1477 (is_mmapped_segment, is_extern_segment): Use get_segment_flags.
1478 (add_segment, sys_alloc, create_mspace, create_mspace_with_base,
1479 destroy_mspace): Use new macros.
1480 (sys_alloc): Silence warning.
1481 * Makefile.am (libffi_la_SOURCES): Add src/closures.c.
1482 * Makefile.in: Rebuilt.
1483 * src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
1484 terms of ffi_prep_closure_loc.
1485 * src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
1486 from...
1487 (ffi_prep_raw_closure): ... this. Re-implement in terms of the
1488 renamed version.
1489 * src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
1490 adjusted from...
1491 (ffi_prep_java_raw_closure): ... this. Re-implement in terms of
1492 the renamed version.
1493 * src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
1494 (ffi_prep_closure): ... this.
1495 * src/pa/ffi.c: Likewise.
1496 * src/cris/ffi.c: Likewise. Adjust.
1497 * src/frv/ffi.c: Likewise.
1498 * src/ia64/ffi.c: Likewise.
1499 * src/mips/ffi.c: Likewise.
1500 * src/powerpc/ffi_darwin.c: Likewise.
1501 * src/s390/ffi.c: Likewise.
1502 * src/sh/ffi.c: Likewise.
1503 * src/sh64/ffi.c: Likewise.
1504 * src/sparc/ffi.c: Likewise.
1505 * src/x86/ffi64.c: Likewise.
1506 * src/x86/ffi.c: Likewise.
1507 (FFI_INIT_TRAMPOLINE): Adjust.
1508 (ffi_prep_raw_closure_loc): Renamed and adjusted from...
1509 (ffi_prep_raw_closure): ... this.
1510 * src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
1511 (ffi_prep_closure): ... this.
1512 (flush_icache): Adjust.
1513
dd778331
AO
15142007-03-07 Alexandre Oliva <aoliva@redhat.com>
1515
1516 * src/dlmalloc.c: New file, imported version 2.8.3 of Doug
1517 Lea's malloc.
1518
b5f8d49b
BM
15192007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
1520
1521 * Makefile.am: Add dummy install-pdf target.
1522 * Makefile.in: Regenerate
1523
7a23933b
AK
15242007-02-13 Andreas Krebbel <krebbel1@de.ibm.com>
1525
1526 * src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep,
1527 ffi_closure_helper_SYSV): Add long double handling.
1528
8aaf4681
JJ
15292007-02-02 Jakub Jelinek <jakub@redhat.com>
1530
1531 * src/powerpc/linux64.S (ffi_call_LINUX64): Move restore of r2
1532 immediately after bctrl instruction.
1533
0eb5e2b9
AO
15342007-01-18 Alexandre Oliva <aoliva@redhat.com>
1535
1536 * Makefile.am (all-recursive, install-recursive,
1537 mostlyclean-recursive, clean-recursive, distclean-recursive,
1538 maintainer-clean-recursive): Add missing targets.
1539 * Makefile.in: Rebuilt.
1540
f4f7486b
AT
15412006-12-14 Andreas Tobler <a.tobler@schweiz.org>
1542
1543 * configure.ac: Add TARGET for x86_64-*-darwin*.
1544 * Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
1545 for X86_DARWIN.
1546 * src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
1547 * src/x86/darwin64.S: New file for x86_64-*-darwin* support.
1548 * configure: Regenerate.
1549 * Makefile.in: Regenerate.
1550 * include/Makefile.in: Regenerate.
1551 * testsuite/Makefile.in: Regenerate.
1552 * testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
1553 ffi_call only.
1554
3d5eafe2
AT
15552006-12-13 Andreas Tobler <a.tobler@schweiz.org>
1556
1557 * aclocal.m4: Regenerate with aclocal -I .. as written in the
1558 Makefile.am.
1559
d5523ce1 15602006-10-31 Geoffrey Keating <geoffk@apple.com>
58182de3
GK
1561
1562 * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
1563 (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
1564 Darwin.
1565 * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
1566 * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
1567
a3bd50cc
PB
15682006-10-10 Paolo Bonzini <bonzini@gnu.org>
1569 Sandro Tolaini <tolaini@libero.it>
1570
302486f4 1571 * configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
a3bd50cc
PB
1572 conditional.
1573 * configure: Regenerated.
1574 * Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
1575 (EXTRA_DIST): Add src/x86/darwin.S.
1576 * Makefile.in: Regenerated.
1577 * include/Makefile.in: Regenerated.
1578 * testsuite/Makefile.in: Regenerated.
1579
1580 * src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
1581 X86_WIN32, and additionally align stack to 16 bytes.
1582 * src/x86/darwin.S: New, based on sysv.S.
1583 * src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
1584
b095810f
DD
15852006-09-12 David Daney <ddaney@avtrex.com>
1586
1587 PR libffi/23935
1588 * include/Makefile.am: Install both ffi.h and ffitarget.h in
1589 $(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
1590 * aclocal.m4: Regenerated for automake 1.9.6.
1591 * Makefile.in: Regenerated.
1592 * include/Makefile.in: Regenerated.
1593 * testsuite/Makefile.in: Regenerated.
1594
110b2db4
AT
15952006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
1596
1597 * include/ffi_common.h (struct): Revert accidental commit.
1598
8e5fde87
AT
15992006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
1600
1601 * include/ffi_common.h: Remove lint directives.
1602 * include/ffi.h.in: Likewise.
1603
cb4132fe
TS
16042006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
1605
1606 * include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
1607 for 32-bit architectures.
1608 * testsuite/libffi.call/return_ul.c: New test case.
1609
0d24c3fa
DD
16102006-07-19 David Daney <ddaney@avtrex.com>
1611
1612 * testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
1613 xfail remains for mips64.
1614
8665824c
CD
16152006-05-23 Carlos O'Donell <carlos@codesourcery.com>
1616
1617 * Makefile.am: Add install-html target. Add install-html to .PHONY
1618 * Makefile.in: Regenerate.
1619 * aclocal.m4: Regenerate.
1620 * include/Makefile.in: Regenerate.
1621 * testsuite/Makefile.in: Regenerate.
1622
84e2e370
JDA
16232006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1624
1625 * pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
1626 stack slot.
1627
ac6ed182
AT
16282006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
1629
1630 * README: Remove notice about 'Crazy Comments'.
1631 * src/debug.c: Remove lint directives. Cleanup white spaces.
1632 * src/java_raw_api.c: Likewise.
1633 * src/prep_cif.c: Likewise.
1634 * src/raw_api.c: Likewise.
1635 * src/ffitest.c: Delete. No longer needed, all test cases migrated
1636 to the testsuite.
1637 * src/arm/ffi.c: Remove lint directives.
1638 * src/m32r/ffi.c: Likewise.
1639 * src/pa/ffi.c: Likewise.
1640 * src/powerpc/ffi.c: Likewise.
1641 * src/powerpc/ffi_darwin.c: Likewise.
1642 * src/sh/ffi.c: Likewise.
1643 * src/sh64/ffi.c: Likewise.
1644 * src/x86/ffi.c: Likewise.
1645 * testsuite/libffi.call/float2.c: Likewise.
1646 * testsuite/libffi.call/promotion.c: Likewise.
1647 * testsuite/libffi.call/struct1.c: Likewise.
1648
b7211585
AT
16492006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
1650
1651 * src/pa/hpux32.S: Correct unwind offset calculation for
1652 ffi_closure_pa32.
1653 * src/pa/linux.S: Likewise.
1654
86066f9b
JW
16552006-04-12 James E Wilson <wilson@specifix.com>
1656
1657 PR libgcj/26483
1658 * src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
1659 (hfa_type_load): Call stf_spill.
1660 (hfa_type_store): Call ldf_fill.
1661 (ffi_call): Adjust calls to above routines. Add local temps for
1662 macro result.
b7211585 1663
615baed7
MK
16642006-04-10 Matthias Klose <doko@debian.org>
1665
1666 * testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
1667 directory names containing underscores.
1668
8e7a2b58
JW
16692006-04-07 James E Wilson <wilson@specifix.com>
1670
1671 * testsuite/libffi.call/float4.c: New testcase.
1672
e6c300ef
JDA
16732006-04-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1674 Andreas Tobler <a.tobler@schweiz.ch>
1675
1676 * Makefile.am: Add PA_HPUX port.
1677 * Makefile.in: Regenerate.
1678 * include/Makefile.in: Likewise.
1679 * testsuite/Makefile.in: Likewise.
1680 * configure.ac: Add PA_HPUX rules.
1681 * configure: Regenerate.
1682 * src/pa/ffitarget.h: Rename linux target to PA_LINUX.
1683 Add PA_HPUX and PA64_HPUX.
1684 Rename FFI_LINUX ABI to FFI_PA32 ABI.
1685 (FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
1686 (FFI_TYPE_SMALL_STRUCT2): Define.
1687 (FFI_TYPE_SMALL_STRUCT4): Likewise.
1688 (FFI_TYPE_SMALL_STRUCT8): Likewise.
1689 (FFI_TYPE_SMALL_STRUCT3): Redefine.
1690 (FFI_TYPE_SMALL_STRUCT5): Likewise.
1691 (FFI_TYPE_SMALL_STRUCT6): Likewise.
1692 (FFI_TYPE_SMALL_STRUCT7): Likewise.
1693 * src/pa/ffi.c (ROUND_DOWN): Delete.
1694 (fldw, fstw, fldd, fstd): Use '__asm__'.
1695 (ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
1696 FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
1697 (ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
1698 Simplify incrementing of stack slot variable. Change type of local
1699 'n' to unsigned int.
1700 (ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
1701 double on PA_HPUX.
1702 (ffi_prep_cif_machdep): Likewise.
1703 (ffi_call): Likewise.
1704 (ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
1705 return type to ffi_status. Simplify incrementing of stack slot
1706 variable. Only copy floating point argument registers when PA_LINUX
1707 is true. Reformat debug statement.
1708 Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
1709 FFI_TYPE_SMALL_STRUCT8.
1710 (ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
1711 declaration.
1712 (ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
1713 Add nops to cache flush. Add trampoline for PA_HPUX.
1714 * src/pa/hpux32.S: New file.
1715 * src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
1716 ffi_prep_args_LINUX to ffi_prep_args_pa32.
1717 Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
1718 unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
1719 argument type checks so that common argument types appear first.
1720 (ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
1721 ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
1722
75b8b1be
AM
17232006-03-24 Alan Modra <amodra@bigpond.net.au>
1724
1725 * src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
1726 for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
1727 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
1728 FFI_TYPE_LONGDOUBLE.
1729 (ffi_prep_args64): Assert using IBM extended double.
1730 (ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
1731 Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
1732 (ffi_call): Handle FFI_LINUX.
1733 (ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
1734 gpr3 return pointer as for struct return. Handle FFI_LINUX
1735 FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
1736 unnecessarily.
1737 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
1738 for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
1739 Don't use r6 as pointer to results, instead use sp offset. Don't
1740 make a special call to load lr with case table address, instead
1741 use offset from previous call.
1742 * src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
1743 * src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
1744 return.
1745
697701ad
KK
17462006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
1747
1748 * src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
1749 passed with FP registers correctly.
1750 (ffi_closure_helper_SYSV): Likewise.
1751 * src/sh64/sysv.S: Likewise.
1752
b295c471
AT
17532006-03-01 Andreas Tobler <a.tobler@schweiz.ch>
1754
1755 * testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
1756 args and userdata unused.
1757 (closure_test_fn1): Mark cif and userdata unused.
1758 (main): Remove unused res.
1759
9fdeb13b
AT
17602006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
1761
1762 * testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
1763 -O2, -O3, -Os and the warning flags -W -Wall.
1764 * testsuite/libffi.special/special.exp: Likewise.
1765 * testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
1766 unused parameter unused for gcc or else do nothing.
1767 * testsuite/libffi.special/ffitestcxx.h: Likewise.
1768 * testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
1769 and userdata unused.
1770 * testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
1771 * testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
1772 * testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
1773 * testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
1774 * testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
1775 * testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
1776 * testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
1777 * testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
1778 * testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
1779 * testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
1780 * testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
1781 * testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
1782 * testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
1783 * testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
1784 * testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
1785 * testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
1786 * testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
1787 * testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
1788 * testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
1789 * testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
1790 * testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
1791 * testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
1792 * testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
1793 * testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
1794 Likewise.
1795 * testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
1796 Likewise.
1797 * testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
1798 Likewise.
1799 * testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
1800 void* to avoid compiler warning.
1801 (main): Likewise.
1802 (cls_struct_align_gn): Mark cif and userdata unused.
1803 * testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
1804 Likewise.
1805 * testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
1806 Likewise.
1807 * testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
1808 Likewise.
1809 * testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
1810 Likewise.
1811 * testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
1812 Likewise.
1813 * testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
1814 * testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
1815 * testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
1816 data unused.
1817 (main): Cast res_call to silence gcc.
1818 * testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
1819 data unused.
1820 (main): Cast res_call to silence gcc.
1821 * testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
1822 and data unused.
1823 (main): Cast res_call to silence gcc.
1824 * testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
1825 data unused.
1826 (main): Cast res_call to silence gcc.
1827 * testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
1828 data unused.
1829 (main): Cast res_call to silence gcc.
1830 * testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
1831 and data unused.
1832 (main): Cast res_call to silence gcc.
1833 * testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
1834 userdata unused.
1835 (cls_ret_schar_fn): Cast printf parameter to silence gcc.
1836 * testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
1837 userdata unused.
1838 (cls_ret_sint_fn): Cast printf parameter to silence gcc.
1839 * testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
1840 userdata unused.
1841 (cls_ret_sshort_fn): Cast printf parameter to silence gcc.
1842 * testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
1843 userdata unused.
1844 (cls_ret_uchar_fn): Cast printf parameter to silence gcc.
1845 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
1846 userdata unused.
1847 (cls_ret_uint_fn): Cast printf parameter to silence gcc.
1848 * testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
1849 and userdata unused.
1850 * testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
1851 userdata unused.
1852 (cls_ret_ushort_fn): Cast printf parameter to silence gcc.
1853 * testsuite/libffi.call/float.c (floating): Remove unused parameter e.
1854 * testsuite/libffi.call/float1.c (main): Remove unused variable i.
1855 Cleanup white spaces.
1856 * testsuite/libffi.call/negint.c (checking): Remove unused variable i.
1857 * testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
1858 cif and userdata unused.
1859 * testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
1860 Likewise.
1861 * testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
1862 * testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
1863 formatters to silence gcc.
1864 (B_gn): Mark cif and userdata unused.
1865 * testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
1866 unused.
1867 * testsuite/libffi.call/nested_struct4.c: Mention related PR.
1868 (B_gn): Mark cif and userdata unused.
1869 * testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
1870 unused.
1871 * testsuite/libffi.call/nested_struct6.c: Mention related PR.
1872 (B_gn): Mark cif and userdata unused.
1873 * testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
1874 unused.
1875 * testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
1876 * testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
1877 * testsuite/libffi.call/problem1.c (stub): Likewise.
1878 * testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
1879 gcc.
1880 * testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
1881 in the last commit for this test case in the test case itself.
1882 * testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
1883 unused.
1884 * testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
1885 * testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
1886 * testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
1887 * testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
1888 * testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
1889 * testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
1890
0a4e2bb5
KK
18912006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
1892
1893 * src/sh/sysv.S: Fix register numbers in the FDE for
1894 ffi_closure_SYSV.
1895
723e5d5a
AT
18962006-02-20 Andreas Tobler <a.tobler@schweiz.ch>
1897
1898 * testsuite/libffi.call/return_fl2.c (return_fl): Remove static
1899 declaration to avoid a false negative on ix86. See PR323.
1900
e097f887
KK
19012006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
1902
1903 * src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
1904 and cast integer to void * if needed. Update the pointer to
1905 the FP register saved area correctly.
302486f4 1906
1a4878f7
AT
19072006-02-17 Andreas Tobler <a.tobler@schweiz.ch>
1908
1909 * testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
1910 is fixed.
1911 * testsuite/libffi.call/nested_struct4.c: Likewise.
1912
b47b5e08
AT
19132006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
1914
6429d58f
AT
1915 * testsuite/libffi.call/return_dbl.c: New test case.
1916 * testsuite/libffi.call/return_dbl1.c: Likewise.
1917 * testsuite/libffi.call/return_dbl2.c: Likewise.
1918 * testsuite/libffi.call/return_fl.c: Likewise.
1919 * testsuite/libffi.call/return_fl1.c: Likewise.
1920 * testsuite/libffi.call/return_fl2.c: Likewise.
1921 * testsuite/libffi.call/return_fl3.c: Likewise.
1922 * testsuite/libffi.call/closure_fn6.c: Likewise.
1923
b47b5e08
AT
1924 * testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
1925 definition.
1926 * testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
1927 here to be used by other test cases too.
1928
1929 * testsuite/libffi.call/nested_struct10.c: New test case.
1930 * testsuite/libffi.call/nested_struct9.c: Likewise.
1931 * testsuite/libffi.call/nested_struct8.c: Likewise.
1932 * testsuite/libffi.call/nested_struct7.c: Likewise.
1933 * testsuite/libffi.call/nested_struct6.c: Likewise.
1934 * testsuite/libffi.call/nested_struct5.c: Likewise.
1935 * testsuite/libffi.call/nested_struct4.c: Likewise.
1936
9abe31d4
AT
19372006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
1938
1939 * configure.ac: Enable libffi for sparc64-*-freebsd*.
1940 * configure: Rebuilt.
1941
71aa1a70
JJ
19422006-01-18 Jakub Jelinek <jakub@redhat.com>
1943
1944 * src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
1945 instead do the shifting inline.
1946 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
1947 shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
1948 and 8 byte structs, for the remaining struct sizes don't call
1949 __lshrdi3, instead do the shifting inline.
1950
8a39029d
TS
19512005-12-07 Thiemo Seufer <ths@networkno.de>
1952
1953 * src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
1954 missing parentheses.
1955 * src/mips/o32.S (ffi_call_O32): Code formatting. Define
1956 and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
1957 (ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
1958 A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
1959 V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
1960 FA_0_0_OFF2.
1961 * src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
1962 endianness bugs.
1963 (ffi_prep_closure): Improve trampoline instruction scheduling.
1964 (ffi_closure_mips_inner_O32): Fix endianness bugs.
1965
cd4241aa
AM
19662005-12-03 Alan Modra <amodra@bigpond.net.au>
1967
1968 * src/powerpc/ffi.c: Formatting.
1969 (ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
1970 (ffi_prep_args64): Likewise.
1971
0363db46
GK
19722005-09-30 Geoffrey Keating <geoffk@apple.com>
1973
1974 * testsuite/lib/libffi-dg.exp (libffi_target_compile): For
1975 darwin, use -shared-libgcc not -lgcc_s, and explain why.
1976
d674eb2f
TT
19772005-09-26 Tom Tromey <tromey@redhat.com>
1978
1979 * testsuite/libffi.call/float1.c (value_type): New typedef.
1980 (CANARY): New define.
1981 (main): Check for result buffer overflow.
1982 * src/powerpc/linux64.S: Handle linux64 long double returns.
1983 * src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
1984 (ffi_prep_cif_machdep): Handle linux64 long double returns.
1985
2d9c5743
AM
19862005-08-25 Alan Modra <amodra@bigpond.net.au>
1987
1988 PR target/23404
1989 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
1990 homed fp args.
1991 (ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
1992
8a42356f
JJ
19932005-08-11 Jakub Jelinek <jakub@redhat.com>
1994
1995 * configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
1996 (AH_BOTTOM): Add FFI_HIDDEN definition.
1997 * configure: Rebuilt.
1998 * fficonfig.h.in: Rebuilt.
1999 * src/powerpc/ffi.c (hidden): Remove.
2000 (ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
2001 ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
2002 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
2003 .ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
2004 * src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
2005 add FFI_HIDDEN to its prototype.
2006 (ffi_closure_SYSV_inner): New.
2007 * src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
2008 * src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
2009
863c5508
AS
20102005-08-10 Alfred M. Szmidt <ams@gnu.org>
2011
2012 PR libffi/21819:
2013 * configure: Rebuilt.
2014 * configure.ac: Handle i*86-*-gnu*.
2015
6a26ea58
JJ
20162005-08-09 Jakub Jelinek <jakub@redhat.com>
2017
2018 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
2019 DW_CFA_offset_extended_sf rather than
2020 DW_CFA_GNU_negative_offset_extended.
2021 * src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
2022
583a92e8
ST
20232005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
2024
2025 * src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
2026 on sh3.
2027 (ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
2028 * src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
2029 partially on register.
2030 (ffi_closure_helper_SYSV): Likewise.
2031 (ffi_prep_cif_machdep): Don't set too many cif->flags.
2032
5d0317fc
KK
20332005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
2034
2035 * src/sh/ffi.c (ffi_call): Handle small structures correctly.
2036 Remove empty line.
2037 * src/sh64/ffi.c (simple_type): Remove.
2038 (return_type): Handle small structures correctly.
2039 (ffi_prep_args): Likewise.
2040 (ffi_call): Likewise.
2041 (ffi_closure_helper_SYSV): Likewise.
2042 * src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
2043 Emit position independent code if PIC and remove wrong datalabel
2044 prefixes from EH data.
2045
8d9fd5f5
AT
20462005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
2047
2048 * Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
2049 * Makefile.in: Regenerate.
2050 * include/Makefile.in: Likewise.
2051 * testsuite/Makefile.in: Likewise.
2052 * configure.ac: Add POWERPC_FREEBSD rules.
2053 * configure: Regenerate.
2054 * src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
2055 (FFI_SYSV_TYPE_SMALL_STRUCT): Define.
2056 * src/powerpc/ffi.c: Add flags to handle small structure returns
2057 in ffi_call_SYSV.
2058 (ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
2059 Aka FFI_SYSV.
2060 (ffi_closure_helper_SYSV): Likewise.
2061 * src/powerpc/ppc_closure.S: Add return types for small structures.
2062 * src/powerpc/sysv.S: Add bits to handle small structures for
2063 final SYSV 4 ABI.
2064
93c76f81
AT
20652005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
2066
2067 * testsuite/libffi.call/cls_5_1_byte.c: New test file.
2068 * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
2069 * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
2070
b65da304
RC
20712005-07-05 Randolph Chung <tausq@debian.org>
2072
2073 * src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
2074 as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
2075 structures. Kill compilation warnings.
2076 (ffi_closure_inner_LINUX): Print return values as hex in debug
2077 message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
2078 Properly handle 5-7 byte structure returns.
2079 * src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
2080 (FFI_TYPE_SMALL_STRUCT2): Remove.
2081 (FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
2082 (FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
2083 * src/pa/linux.S: Mark source file as using PA1.1 assembly.
2084 (checksmst1, checksmst2): Remove.
2085 (checksmst3): Optimize handling of 3-byte struct returns.
2086 (checksmst567): Properly handle 5-7 byte struct returns.
2087
2572f1c6
RO
20882005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2089
2090 PR libgcj/21943
2091 * src/mips/n32.S: Enforce PIC code.
2092 * src/mips/o32.S: Likewise.
2093
cc786582
RO
20942005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2095
2096 * configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
2097 * configure: Regenerate.
302486f4 2098
6d0d376c
AM
20992005-06-01 Alan Modra <amodra@bigpond.net.au>
2100
2101 * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
2102 to call ffi_closure_helper_SYSV. Append @local instead.
2103 * src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
2104
a21946f5 21052005-05-17 Kelley Cook <kcook@gcc.gnu.org>
a097ef55
KC
2106
2107 * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
2108 Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
2109 * Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
2110 * aclocal.m4, configure, fficonfig.h.in, Makefile.in,
2111 include/Makefile.in, testsuite/Makefile.in: Regenerate.
302486f4 2112
f4c767fd
MS
21132005-05-09 Mike Stump <mrs@apple.com>
2114
2115 * configure: Regenerate.
2116
7e15b5fe
RH
21172005-05-08 Richard Henderson <rth@redhat.com>
2118
2119 PR libffi/21285
2120 * src/alpha/osf.S: Update unwind into to match code.
2121
d56ea8d9
RH
21222005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
2123 Richard Henderson <rth@redhat.com>
2124
2125 * src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
2126 bit 11 of flags.
2127 (ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
2128 (ffi_prep_closure): Set carry bit if sse-used flag set.
2129 * src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
2130 Only load sse registers if ssecount non-zero.
2131 (ffi_closure_unix64): Only save sse registers if carry set on entry.
2132
21332005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
d948c201
RC
2134
2135 * configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
2136 powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
2137 * configure: Regenerate.
2138
fc0ad8d9
HPN
21392005-04-20 Hans-Peter Nilsson <hp@axis.com>
2140
2141 * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
2142 have Tcl8.3-compatible intermediate variable.
2143
302486f4 21442005-04-18 Simon Posnjak <simon.posnjak@siol.net>
614348bb
SP
2145 Hans-Peter Nilsson <hp@axis.com>
2146
2147 * Makefile.am: Add CRIS support.
2148 * configure.ac: Likewise.
29ede6db
HPN
2149 * Makefile.in, configure, testsuite/Makefile.in,
2150 include/Makefile.in: Regenerate.
614348bb
SP
2151 * src/cris: New directory.
2152 * src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
2153 * src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
727e729b
HPN
2154
2155 * testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
2156 \r?\n in output tests.
2157
6dab073b
MS
21582005-04-12 Mike Stump <mrs@apple.com>
2159
2160 * configure: Regenerate.
2161
51f55d7c
HB
21622005-03-30 Hans Boehm <Hans.Boehm@hp.com>
2163
2164 * src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
302486f4 2165
7efa52a3
SE
21662005-03-30 Steve Ellcey <sje@cup.hp.com>
2167
2168 * src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
2169 (ffi_sarg) Ditto.
2170 * src/ia64/unix.S (ffi_closure_unix): Extend gp
2171 to 64 bits in ILP32 mode.
2172 Load 64 bits even for short data.
2173
1488177a
MS
21742005-03-23 Mike Stump <mrs@apple.com>
2175
2176 * src/powerpc/darwin.S: Update for -m64 multilib.
2177 * src/powerpc/darwin_closure.S: Likewise.
2178
c6900272
ZW
21792005-03-21 Zack Weinberg <zack@codesourcery.com>
2180
2181 * configure.ac: Do not invoke TL_AC_GCC_VERSION.
2182 Do not set tool_include_dir.
2183 * aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
2184 Regenerate.
2185 * include/Makefile.am: Set gcc_version and toollibffidir.
2186 * include/Makefile.in: Regenerate.
2187
962eea0a
AH
21882005-02-22 Andrew Haley <aph@redhat.com>
2189
2190 * src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
2191 odd-numbered register pairs for 64-bit integer types.
2192
1b05e8bf
AT
21932005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
2194
2195 PR libffi/20104
2196 * testsuite/libffi.call/return_ll1.c: New test case.
2197
6027770b
JJ
21982005-02-11 Janis Johnson <janis187@us.ibm.com>
2199
2200 * testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
2201 * testsuite/libffi.call/float.c: Ditto.
2202 * testsuite/libffi.call/float2.c: Ditto.
2203 * testsuite/libffi.call/float3.c: Ditto.
2204
ee31ea68
AT
22052005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
2206
2207 * src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
2208
c16be7d5
EB
22092005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
2210
2211 * testsuite/libffi.special/special.exp (cxx_options): Add
2212 -shared-libgcc.
2213
5df07255
RH
22142004-12-31 Richard Henderson <rth@redhat.com>
2215
2216 * src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
2217 (FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
2218 offset parameters with a type parameter; deduce size and structure
2219 alignment. Update all users.
2220
81a69b13
RH
22212004-12-31 Richard Henderson <rth@redhat.com>
2222
2223 * src/types.c (FFI_TYPE_POINTER): Define with sizeof.
2224 (FFI_TYPE_LONGDOUBLE): Fix for ia64.
c6900272 2225 * src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
81a69b13
RH
2226 into ffi_prep_closure.
2227 * src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
2228 from scratch.
2229
d833cfb0
RH
22302004-12-27 Richard Henderson <rth@redhat.com>
2231
2232 * src/x86/unix64.S: Fix typo in unwind info.
2233
1a0f488c
RH
22342004-12-25 Richard Henderson <rth@redhat.com>
2235
2236 * src/x86/ffi64.c (struct register_args): Rename from stackLayout.
2237 (enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
2238 (merge_classes): Check for it.
2239 (SSE_CLASS_P): New.
2240 (classify_argument): Pass byte_offset by value; perform all updates
2241 inside struct case.
2242 (examine_argument): Add classes argument; handle
2243 X86_64_COMPLEX_X87_CLASS.
2244 (ffi_prep_args): Merge into ...
2245 (ffi_call): ... here. Share stack frame with ffi_call_unix64.
2246 (ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
2247 (ffi_fill_return_value): Remove.
2248 (ffi_prep_closure): Remove dead assert.
2249 (ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
2250 Rewrite to use struct register_args instead of va_list. Create
2251 flags for handling structure returns.
2252 * src/x86/unix64.S: Remove dead strings.
2253 (ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
2254 stack frame with ffi_call. Handle structure returns properly.
2255 (float2sse, floatfloat2sse, double2sse): Remove.
2256 (sse2float, sse2double, sse2floatfloat): Remove.
2257 (ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
2258 to handle structure returns properly.
2259
7994d50c
DE
22602004-12-08 David Edelsohn <edelsohn@gnu.org>
2261
2262 * Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
2263 PICFLAG.
2264 * Makefile.in: Regenerated.
2265
afabd8e6
RS
22662004-12-02 Richard Sandiford <rsandifo@redhat.com>
2267
2268 * configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
2269 * configure, aclocal.m4, Makefile.in: Regenerate.
2270 * include/Makefile.in, testsuite/Makefile.in: Regenerate.
2271
2539bffe
KC
22722004-11-29 Kelley Cook <kcook@gcc.gnu.org>
2273
2274 * configure: Regenerate for libtool change.
2275
767f726e
KC
22762004-11-25 Kelley Cook <kcook@gcc.gnu.org>
2277
2278 * configure: Regenerate for libtool reversion.
2279
2c92e90f
KC
22802004-11-24 Kelley Cook <kcook@gcc.gnu.org>
2281
2282 * configure: Regenerate for libtool change.
2283
1df8e834
JDA
22842004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2285
2286 * testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
2287
22882004-11-23 Richard Sandiford <rsandifo@redhat.com>
2289
2290 * src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
2291 of jal. Use an absolute encoding for the frame information.
2292
22932004-11-23 Kelley Cook <kcook@gcc.gnu.org>
2294
2295 * Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
2296 * acinclude.m4: Delete logic for sincludes.
2297 * aclocal.m4, Makefile.in, configure: Regenerate.
2298 * include/Makefile: Likewise.
2299 * testsuite/Makefile: Likewise.
2300
bf02e7fa
EB
23012004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
2302
2303 * src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
2304 on a 8-byte boundary.
2305 * src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
2306
f20459f1
RE
23072004-10-27 Richard Earnshaw <rearnsha@arm.com>
2308
2309 * src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
2310 long long values. Round stack allocation to a multiple of 8 bytes
2311 for ATPCS compatibility.
2312 * src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
2313 names. Handle returning long long types. Add Thumb and interworking
2314 support. Improve soft-float code.
2315
fdc69597
RE
23162004-10-27 Richard Earnshaw <rearnsha@arm.com>
2317
2318 * testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
2319 (libffi_exit): New function.
2320 (libffi_init): Build the testglue wrapper if needed.
2321
1e02510f
EB
23222004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
2323
2324 PR other/18138
2325 * testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
2326
d9a193b2
KI
23272004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2328
2329 * src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
2330
1fddb058
KK
23312004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
2332
2333 * src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
2334 * testsuite/libffi.call/float3.c: New test case.
2335
e0d3b452
KK
23362004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
2337
2338 * src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
2339 the function returning a structure pointed with R2.
2340 * src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
2341 the structure return value if T bit set. Emit position
2342 independent code and EH data if PIC.
2343
a472e9d4
KI
23442004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2345
2346 * Makefile.am: Add m32r support.
2347 * configure.ac: Likewise.
2348 * Makefile.in: Regenerate.
2349 * confiugre: Regenerate.
2350 * src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
2351 (uint64, sint64, double, longdouble)
2352 * src/m32r: New directory.
2353 * src/m32r/ffi.c: New file.
2354 * src/m32r/sysv.S: Likewise.
2355 * src/m32r/ffitarget.h: Likewise.
2356
3d47e9ca
KK
23572004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
2358
2359 * testsuite/libffi.call/negint.c: New test case.
2360
fc9051dd
L
23612004-09-14 H.J. Lu <hongjiu.lu@intel.com>
2362
2363 PR libgcj/17465
2364 * testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
2365 Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
2366 LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
2367 DYLD_LIBRARY_PATH.
2368
2010caea
AT
23692004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
2370
2371 * testsuite/libffi.call/many_win32.c: Remove whitespaces.
2372 * testsuite/libffi.call/promotion.c: Likewise.
2373 * testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
2374 whitespaces.
2375 * testsuite/libffi.call/return_sc.c: Likewise.
2376 * testsuite/libffi.call/return_uc.c: Likewise.
2377
894be816
AT
23782004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
2379
2380 * src/powerpc/darwin.S: Fix comments and identation.
2381 * src/powerpc/darwin_closure.S: Likewise.
2382
2fe7404a
AT
23832004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
2384
2385 * src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
2386 (ffi_prep_args): Handle longdouble arguments.
2387 (ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
2388 longdouble.
2389 (ffi_closure_helper_DARWIN): Add closure handling for longdouble.
2390 * src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
2391 values.
2392 * src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
2393 * src/types.c: Defined longdouble size and alignment for darwin.
2394
16070e45
AT
23952004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
2396
2397 * src/powerpc/aix.S: Remove whitespaces.
2398 * src/powerpc/aix_closure.S: Likewise.
2399 * src/powerpc/asm.h: Likewise.
2400 * src/powerpc/ffi.c: Likewise.
2401 * src/powerpc/ffitarget.h: Likewise.
2402 * src/powerpc/linux64.S: Likewise.
2403 * src/powerpc/linux64_closure.S: Likewise.
2404 * src/powerpc/ppc_closure.S: Likewise.
2405 * src/powerpc/sysv.S: Likewise.
2406
88d8c771
AG
24072004-08-30 Anthony Green <green@redhat.com>
2408
2409 * Makefile.am: Add frv support.
2410 * Makefile.in, testsuite/Makefile.in: Rebuilt.
2411 * configure.ac: Read configure.host.
2412 * configure.in: Read configure.host.
2413 * configure.host: New file. frv-elf needs libgloss.
2414 * include/ffi.h.in: Force ffi_closure to have a nice big (8)
a23adb4d 2415 alignment. This is needed to frv and shouldn't harm the others.
88d8c771
AG
2416 * include/ffi_common.h (ALIGN_DOWN): New macro.
2417 * src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
2418
4c5f37d5
DD
24192004-08-24 David Daney <daney@avtrex.com>
2420
2421 * testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
2422 * testsuite/libffi.call/closure_fn1.c: Likewise.
2423 * testsuite/libffi.call/closure_fn2.c Likewise.
2424 * testsuite/libffi.call/closure_fn3.c: Likewise.
2425 * testsuite/libffi.call/closure_fn4.c: Likewise.
2426 * testsuite/libffi.call/closure_fn5.c: Likewise.
2427 * testsuite/libffi.call/cls_18byte.c: Likewise.
2428 * testsuite/libffi.call/cls_19byte.c: Likewise.
2429 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
2430 * testsuite/libffi.call/cls_20byte.c: Likewise.
2431 * testsuite/libffi.call/cls_20byte1.c: Likewise.
2432 * testsuite/libffi.call/cls_24byte.c: Likewise.
2433 * testsuite/libffi.call/cls_2byte.c: Likewise.
2434 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
2435 * testsuite/libffi.call/cls_3byte1.c: Likewise.
2436 * testsuite/libffi.call/cls_3byte2.c: Likewise.
2437 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
2438 * testsuite/libffi.call/cls_4byte.c: Likewise.
2439 * testsuite/libffi.call/cls_64byte.c: Likewise.
2440 * testsuite/libffi.call/cls_6byte.c: Likewise.
2441 * testsuite/libffi.call/cls_7byte.c: Likewise.
2442 * testsuite/libffi.call/cls_8byte.c: Likewise.
2443 * testsuite/libffi.call/cls_9byte1.c: Likewise.
2444 * testsuite/libffi.call/cls_9byte2.c: Likewise.
2445 * testsuite/libffi.call/cls_align_double.c: Likewise.
2446 * testsuite/libffi.call/cls_align_float.c: Likewise.
2447 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
2448 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
2449 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
2450 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
2451 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
2452 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
2453 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
2454 * testsuite/libffi.call/cls_align_uint64.c: Likewise.
2455 * testsuite/libffi.call/cls_double.c: Likewise.
2456 * testsuite/libffi.call/cls_float.c: Likewise.
2457 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
2458 * testsuite/libffi.call/cls_multi_sshort.c: Likewise.
2459 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
2460 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
2461 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
2462 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
2463 * testsuite/libffi.call/cls_schar.c: Likewise.
2464 * testsuite/libffi.call/cls_sint.c: Likewise.
2465 * testsuite/libffi.call/cls_sshort.c: Likewise.
2466 * testsuite/libffi.call/cls_uchar.c: Likewise.
2467 * testsuite/libffi.call/cls_uint.c: Likewise.
2468 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
2469 * testsuite/libffi.call/cls_ushort.c: Likewise.
2470 * testsuite/libffi.call/nested_struct.c: Likewise.
2471 * testsuite/libffi.call/nested_struct1.c: Likewise.
2472 * testsuite/libffi.call/nested_struct2.c: Likewise.
2473 * testsuite/libffi.call/nested_struct3.c: Likewise.
2474 * testsuite/libffi.call/problem1.c: Likewise.
2475 * testsuite/libffi.special/unwindtest.cc: Likewise.
2476 * testsuite/libffi.call/cls_12byte.c: Likewise and set return value
2477 to zero.
2478 * testsuite/libffi.call/cls_16byte.c: Likewise.
2479 * testsuite/libffi.call/cls_5byte.c: Likewise.
2480
39dca114
DD
24812004-08-23 David Daney <daney@avtrex.com>
2482
2483 PR libgcj/13141
2484 * src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
2485 * src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
2486 (ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
2487 parameters and return types.
2488 (ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
2489 (ffi_prep_closure): Ditto.
2490 (ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
2491 alignment calculations.
2492 * src/mips/o32.S (ffi_closure_O32): Don't use floating point
2493 instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
2494
b790003a
CM
24952004-08-14 Casey Marshall <csm@gnu.org>
2496
2497 * src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
2498 contain `FFI_TYPE_UINT64' as return type for any 64-bit
2499 integer (O32 ABI only).
2500 (ffi_prep_closure): new function.
2501 (ffi_closure_mips_inner_O32): new function.
c6900272 2502 * src/mips/ffitarget.h: Define `FFI_CLOSURES' and
b790003a
CM
2503 `FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
2504 * src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
2505 64 bit integers correctly.
2506 (ffi_closure_O32): new function.
2507 Added DWARF-2 unwind info for both functions.
2508
547d71a1
AH
25092004-08-10 Andrew Haley <aph@redhat.com>
2510
2511 * src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
2512
98a5bb3b
RM
25132004-08-01 Robert Millan <robertmh@gnu.org>
2514
2515 * configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
2516 * configure: Regenerate.
2517
4d447364
MR
25182004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
2519
2520 * acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
2521 and mmap() explicitly instead of relying on preset autoconf cache
2522 variables.
2523 * aclocal.m4: Regenerate.
2524 * configure: Regenerate.
2525
e5dce82f
UW
25262004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
2527
2528 * src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
2529 (ffi_check_float_struct): Remove unused prototype.
2530
e6a0022b
GK
25312004-06-30 Geoffrey Keating <geoffk@apple.com>
2532
2533 * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
2534 character on Darwin, use '\n\t' instead.
2535
5a2d52ca
MK
25362004-06-26 Matthias Klose <doko@debian.org>
2537
2538 * libtool-version: Fix typo in revision/age.
2539
401844ef
MK
25402004-06-17 Matthias Klose <doko@debian.org>
2541
2542 * libtool-version: New.
2543 * Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
2544 * Makefile.in: Regenerate.
2545
94632047 25462004-06-15 Paolo Bonzini <bonzini@gnu.org>
076e5443
PB
2547
2548 * Makefile.am: Remove useless multilib rules.
2549 * Makefile.in: Regenerate.
2550 * aclocal.m4: Regenerate with automake 1.8.5.
2551 * configure.ac: Remove useless multilib configury.
2552 * configure: Regenerate.
2553
94632047 25542004-06-15 Paolo Bonzini <bonzini@gnu.org>
9ac926b1
PB
2555
2556 * .cvsignore: New file.
2557
37c849e4
JJ
25582004-06-10 Jakub Jelinek <jakub@redhat.com>
2559
2560 * src/ia64/unix.S (ffi_call_unix): Insert group barrier break
2561 fp_done.
2562 (ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
2563 changed from 8.
2564
cb623172
SM
25652004-06-06 Sean McNeil <sean@mcneil.com>
2566
2567 * configure.ac: Add x86_64-*-freebsd* support.
2568 * configure: Regenerate.
2569
c9b93377
JB
25702004-04-26 Joe Buck <jbuck@welsh-buck.org>
2571
2572 Bug 15093
2573 * configure.ac: Test for existence of mmap and sys/mman.h before
2574 checking blacklist. Fix suggested by Jim Wilson.
2575 * configure: Regenerate.
2576
cf90fd1b
MA
25772004-04-26 Matt Austern <austern@apple.com>
2578
2579 * src/powerpc/darwin.S: Go through a non-lazy pointer for initial
2580 FDE location.
2581 * src/powerpc/darwin_closure.S: Likewise.
c6900272 2582
67781b44
AT
25832004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
2584
2585 * testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
2586 error. Reported by Thomas Heller <theller@python.net>.
2587 * testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
2588 * testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
2589
14b078a8
MK
25902004-03-20 Matthias Klose <doko@debian.org>
2591
2592 * src/pa/linux.S: Fix typo.
2593
d65a810f
MK
25942004-03-19 Matthias Klose <doko@debian.org>
2595
67781b44 2596 * Makefile.am: Update.
d65a810f
MK
2597 * Makefile.in: Regenerate.
2598 * src/pa/ffi.h.in: Remove.
2599 * src/pa/ffitarget.h: New file.
2600
26012004-02-10 Randolph Chung <tausq@debian.org>
2602
2603 * Makefile.am: Add PA support.
2604 * Makefile.in: Regenerate.
2605 * include/Makefile.in: Regenerate.
2606 * configure.ac: Add PA target.
2607 * configure: Regenerate.
2608 * src/pa/ffi.c: New file.
2609 * src/pa/ffi.h.in: Add PA support.
2610 * src/pa/linux.S: New file.
2611 * prep_cif.c: Add PA support.
2612
09cababc
HY
26132004-03-16 Hosaka Yuji <hos@tamanegi.org>
2614
2615 * src/types.c: Fix alignment size of X86_WIN32 case int64 and
2616 double.
2617 * src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
2618 with ecif->cif->flags.
2619 (ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
2620 with cif->flags.
2621 (ffi_prep_cif_machdep): Add X86_WIN32 struct case.
2622 (ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
2623 * src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
2624 sc_retstruct2b): Add for 1 or 2-bytes struct case.
2625
0e8d0c5f
KC
26262004-03-15 Kelley Cook <kcook@gcc.gnu.org>
2627
2628 * configure.in: Rename file to ...
2629 * configure.ac: ... this.
2630 * fficonfig.h.in: Regenerate.
2631 * Makefile.in: Regenerate.
2632 * include/Makefile.in: Regenerate.
2633 * testsuite/Makefile.in: Regenerate.
2634
b8d50739
MA
26352004-03-12 Matt Austern <austern@apple.com>
2636
2637 * src/powerpc/darwin.S: Fix EH information so it corresponds to
2638 changes in EH format resulting from addition of linkonce support.
2639 * src/powerpc/darwin_closure.S: Likewise.
09cababc 2640
3ed8e5b6
AT
26412004-03-11 Andreas Tobler <a.tobler@schweiz.ch>
2642 Paolo Bonzini <bonzini@gnu.org>
2643
2644 * Makefile.am (AUTOMAKE_OPTIONS): Set them.
2645 Remove VPATH. Remove rules for object files. Remove multilib support.
2646 (AM_CCASFLAGS): Add.
2647 * configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
2648 (AC_PREREQ): Bump version to 2.59.
2649 (AC_INIT): Fill with version info and bug address.
2650 (ORIGINAL_LD_FOR_MULTILIBS): Remove.
2651 (AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
2652 De-precious CC so that the right flags are passed down to multilibs.
2653 (AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
2654 (AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
2655 (AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
2656 * configure: Rebuilt.
2657 * aclocal.m4: Likewise.
2658 * Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
2659 * fficonfig.h.in: Likewise.
2660
254ea477
AS
26612004-03-11 Andreas Schwab <schwab@suse.de>
2662
2663 * src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
2664 arguments from fp registers only for the first 8 parameter slots.
2665 Don't convert a float parameter when passed in memory.
2666
3beb1315
HPN
26672004-03-09 Hans-Peter Nilsson <hp@axis.com>
2668
2669 * configure: Regenerate for config/accross.m4 correction.
2670
fecf735c
MK
26712004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
2672
2673 * src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
2674 ecif->cif->bytes to bytes.
2675 (ffi_prep_cif_machdep): Add braces around nested if statement.
2676
4243752c
AM
26772004-02-09 Alan Modra <amodra@bigpond.net.au>
2678
12001e0f
AM
2679 * src/types.c (pointer): POWERPC64 has 8 byte pointers.
2680
4243752c
AM
2681 * src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
2682 (ffi_closure_helper_LINUX64): Fix typo.
2683 * testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
2684 for powerpc64-*-*.
2685 * testsuite/libffi.call/float.c: Likewise.
2686 * testsuite/libffi.call/float2.c: Likewise.
2687
bf310028
AM
26882004-02-08 Alan Modra <amodra@bigpond.net.au>
2689
2690 * src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
2691 long double function return and long double arg handling.
2692 (ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
2693 Use "end_pfr" instead of "nf". Correct long double handling.
2694 Localise "temp".
2695 * src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
2696 return value.
2697 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
2698 space for long double return value. Adjust stack frame and offsets.
2699 Load f2 long double return.
2700
dd5f9ea2
AM
27012004-02-07 Alan Modra <amodra@bigpond.net.au>
2702
2703 * src/types.c: Use 16 byte long double for POWERPC64.
2704
0ce78f01
EB
27052004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
2706
2707 * src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
2708 when the structure return address is passed in %o0.
2709 (ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
2710 (ffi_v9_layout_struct): Align the field following a nested structure
2711 on a word boundary. Use memmove instead of memcpy.
2712 (ffi_call): Update call to ffi_V9_return_struct.
2713 (ffi_prep_closure): Define 'ctx' only for V8.
2714 (ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
2715 and ffi_closure_sparc_inner_v9.
2716 (ffi_closure_sparc_inner_v8): Return long doubles by reference.
2717 Always skip the structure return address. For structures and long
2718 doubles, copy the argument directly.
2719 (ffi_closure_sparc_inner_v9): Skip the structure return address only
2720 if required. Shift the maximum floating-point slot accordingly. For
2721 big structures, copy the argument directly; otherwise, left-justify the
2722 argument and call ffi_v9_layout_struct to lay out the structure on
2723 the stack.
2724 * src/sparc/v8.S: Undef STACKFRAME before defining it.
2725 (ffi_closure_v8): Pass the structure return address. Update call to
2726 ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
2727 Skip the 'unimp' insn when returning long doubles and structures.
2728 * src/sparc/v9.S: Undef STACKFRAME before defining it.
2729 (ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
2730 FFI_TYPE_INT handling. Load structures both in integers and
2731 floating-point registers on return.
2732 * README: Update status of the SPARC port.
2733
7fcc1d9b
AT
27342004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
2735
2736 * testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
2737 as of type ffi_arg.
2738 * testsuite/libffi.call/struct3.c (main): Fix CHECK.
2739
6ed0ecaf
UW
27402004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
2741
2742 * testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
2743 value as of type ffi_arg, not unsigned int.
2744
c930d8a5
MR
27452004-01-21 Michael Ritzert <ritzert@t-online.de>
2746
2747 * ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
2748 of the LHS.
2749
7b2e3e60
AT
27502004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
2751
2752 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
2753 Solaris.
2754
2e89756b
RO
27552004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2756
2757 * testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
2758 to void *.
2759
628b26f8
RH
27602003-12-10 Richard Henderson <rth@redhat.com>
2761
2762 * testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
2763 size_t instead of int.
2764
0ee646d6
HY
27652003-12-04 Hosaka Yuji <hos@tamanegi.org>
2766
2767 * testsuite/libffi.call/many_win32.c: Include <float.h>.
2768 * testsuite/libffi.call/many_win32.c (main): Replace variable
2769 int i with unsigned long ul.
2770
2771 * testsuite/libffi.call/cls_align_uint64.c: New test case.
2772 * testsuite/libffi.call/cls_align_sint64.c: Likewise.
2773 * testsuite/libffi.call/cls_align_uint32.c: Likewise.
2774 * testsuite/libffi.call/cls_align_sint32.c: Likewise.
2775 * testsuite/libffi.call/cls_align_uint16.c: Likewise.
2776 * testsuite/libffi.call/cls_align_sint16.c: Likewise.
2777 * testsuite/libffi.call/cls_align_float.c: Likewise.
2778 * testsuite/libffi.call/cls_align_double.c: Likewise.
2779 * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
2780 * testsuite/libffi.call/cls_align_pointer.c: Likewise.
2781
2c4ed456
HY
27822003-12-02 Hosaka Yuji <hos@tamanegi.org>
2783
2784 PR other/13221
2785 * src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
2786 Align arguments to 32 bits.
2787
d18c3386
AT
27882003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
2789
2790 PR other/13221
2791 * testsuite/libffi.call/cls_multi_sshort.c: New test case.
2792 * testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
2793 * testsuite/libffi.call/cls_multi_uchar.c: Likewise.
2794 * testsuite/libffi.call/cls_multi_schar.c: Likewise.
2795 * testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
2796 * testsuite/libffi.call/cls_multi_ushort.c: Likewise.
2797
2798 * testsuite/libffi.special/unwindtest.cc: Cosmetics.
2799
88096b2a
KG
28002003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2801
2802 * testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
2803 * testsuite/libffi.special/ffitestcxx.h: Likewise.
2804
3eee102e
AT
28052003-11-22 Andreas Tobler <a.tobler@schweiz.ch>
2806
2807 * Makefile.in: Rebuilt.
2808 * configure: Likewise.
2809 * testsuite/libffi.special/unwindtest.cc: Convert the mmap to
2810 the right type.
2811
5196736e
AJ
28122003-11-21 Andreas Jaeger <aj@suse.de>
2813 Andreas Tobler <a.tobler@schweiz.ch>
2814
2815 * acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
2816 * configure.in: Call AC_FUNC_MMAP_BLACKLIST.
2817 * Makefile.in: Rebuilt.
2818 * aclocal.m4: Likewise.
2819 * configure: Likewise.
2820 * fficonfig.h.in: Likewise.
2821 * testsuite/lib/libffi-dg.exp: Add include dir.
2822 * testsuite/libffi.call/ffitest.h: Add MMAP definitions.
2823 * testsuite/libffi.special/ffitestcxx.h: Likewise.
2824 * testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
2825 for ffi_closure if available.
2826 * testsuite/libffi.call/closure_fn1.c: Likewise.
2827 * testsuite/libffi.call/closure_fn2.c: Likewise.
2828 * testsuite/libffi.call/closure_fn3.c: Likewise.
2829 * testsuite/libffi.call/closure_fn4.c: Likewise.
2830 * testsuite/libffi.call/closure_fn5.c: Likewise.
2831 * testsuite/libffi.call/cls_12byte.c: Likewise.
2832 * testsuite/libffi.call/cls_16byte.c: Likewise.
2833 * testsuite/libffi.call/cls_18byte.c: Likewise.
2834 * testsuite/libffi.call/cls_19byte.c: Likewise.
2835 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
2836 * testsuite/libffi.call/cls_20byte.c: Likewise.
2837 * testsuite/libffi.call/cls_20byte1.c: Likewise.
2838 * testsuite/libffi.call/cls_24byte.c: Likewise.
2839 * testsuite/libffi.call/cls_2byte.c: Likewise.
2840 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
2841 * testsuite/libffi.call/cls_3byte1.c: Likewise.
2842 * testsuite/libffi.call/cls_3byte2.c: Likewise.
2843 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
2844 * testsuite/libffi.call/cls_4byte.c: Likewise.
2845 * testsuite/libffi.call/cls_5byte.c: Likewise.
2846 * testsuite/libffi.call/cls_64byte.c: Likewise.
2847 * testsuite/libffi.call/cls_6byte.c: Likewise.
2848 * testsuite/libffi.call/cls_7byte.c: Likewise.
2849 * testsuite/libffi.call/cls_8byte.c: Likewise.
2850 * testsuite/libffi.call/cls_9byte1.c: Likewise.
2851 * testsuite/libffi.call/cls_9byte2.c: Likewise.
2852 * testsuite/libffi.call/cls_double.c: Likewise.
2853 * testsuite/libffi.call/cls_float.c: Likewise.
2854 * testsuite/libffi.call/cls_schar.c: Likewise.
2855 * testsuite/libffi.call/cls_sint.c: Likewise.
2856 * testsuite/libffi.call/cls_sshort.c: Likewise.
2857 * testsuite/libffi.call/cls_uchar.c: Likewise.
2858 * testsuite/libffi.call/cls_uint.c: Likewise.
2859 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
2860 * testsuite/libffi.call/cls_ushort.c: Likewise.
2861 * testsuite/libffi.call/nested_struct.c: Likewise.
2862 * testsuite/libffi.call/nested_struct1.c: Likewise.
2863 * testsuite/libffi.call/nested_struct2.c: Likewise.
2864 * testsuite/libffi.call/nested_struct3.c: Likewise.
2865 * testsuite/libffi.call/problem1.c: Likewise.
2866 * testsuite/libffi.special/unwindtest.cc: Likewise.
2867
9e6c3ecb
AT
28682003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
2869
2870 * testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
2871
70d8f2a1
AT
28722003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
2873
2874 * testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
2875 Add -lgcc_s to additional flags.
2876
ea81d2a3
AT
28772003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
2878
2879 * configure.in, include/Makefile.am: PR libgcj/11147, install
2880 the ffitarget.h header file in a gcc versioned and target
2881 dependent place.
2882 * configure: Regenerated.
2883 * Makefile.in, include/Makefile.in: Likewise.
2884 * testsuite/Makefile.in: Likewise.
2885
647af4a9
AT
28862003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
2887
2888 * testsuite/libffi.call/closure_fn0.c: Print result and check
2889 with dg-output to make debugging easier.
2890 * testsuite/libffi.call/closure_fn1.c: Likewise.
2891 * testsuite/libffi.call/closure_fn2.c: Likewise.
2892 * testsuite/libffi.call/closure_fn3.c: Likewise.
2893 * testsuite/libffi.call/closure_fn4.c: Likewise.
2894 * testsuite/libffi.call/closure_fn5.c: Likewise.
2895 * testsuite/libffi.call/cls_12byte.c: Likewise.
2896 * testsuite/libffi.call/cls_16byte.c: Likewise.
2897 * testsuite/libffi.call/cls_18byte.c: Likewise.
2898 * testsuite/libffi.call/cls_19byte.c: Likewise.
2899 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
2900 * testsuite/libffi.call/cls_20byte.c: Likewise.
2901 * testsuite/libffi.call/cls_20byte1.c: Likewise.
2902 * testsuite/libffi.call/cls_24byte.c: Likewise.
2903 * testsuite/libffi.call/cls_2byte.c: Likewise.
2904 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
2905 * testsuite/libffi.call/cls_3byte1.c: Likewise.
2906 * testsuite/libffi.call/cls_3byte2.c: Likewise.
2907 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
2908 * testsuite/libffi.call/cls_4byte.c: Likewise.
2909 * testsuite/libffi.call/cls_5byte.c: Likewise.
2910 * testsuite/libffi.call/cls_64byte.c: Likewise.
2911 * testsuite/libffi.call/cls_6byte.c: Likewise.
2912 * testsuite/libffi.call/cls_7byte.c: Likewise.
2913 * testsuite/libffi.call/cls_8byte.c: Likewise.
2914 * testsuite/libffi.call/cls_9byte1.c: Likewise.
2915 * testsuite/libffi.call/cls_9byte2.c: Likewise.
2916 * testsuite/libffi.call/cls_double.c: Likewise.
2917 * testsuite/libffi.call/cls_float.c: Likewise.
2918 * testsuite/libffi.call/cls_schar.c: Likewise.
2919 * testsuite/libffi.call/cls_sint.c: Likewise.
2920 * testsuite/libffi.call/cls_sshort.c: Likewise.
2921 * testsuite/libffi.call/cls_uchar.c: Likewise.
2922 * testsuite/libffi.call/cls_uint.c: Likewise.
2923 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
2924 * testsuite/libffi.call/cls_ushort.c: Likewise.
2925 * testsuite/libffi.call/problem1.c: Likewise.
2926
2927 * testsuite/libffi.special/unwindtest.cc: Make ffi_closure
2928 static.
2929
ac47cc13
AT
29302003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
2931
2932 * testsuite/libffi.call/cls_9byte2.c: New test case.
2933 * testsuite/libffi.call/cls_9byte1.c: Likewise.
2934 * testsuite/libffi.call/cls_64byte.c: Likewise.
2935 * testsuite/libffi.call/cls_20byte1.c: Likewise.
2936 * testsuite/libffi.call/cls_19byte.c: Likewise.
2937 * testsuite/libffi.call/cls_18byte.c: Likewise.
2938 * testsuite/libffi.call/closure_fn4.c: Likewise.
2939 * testsuite/libffi.call/closure_fn5.c: Likewise.
2940 * testsuite/libffi.call/cls_schar.c: Likewise.
2941 * testsuite/libffi.call/cls_sint.c: Likewise.
2942 * testsuite/libffi.call/cls_sshort.c: Likewise.
2943 * testsuite/libffi.call/nested_struct2.c: Likewise.
2944 * testsuite/libffi.call/nested_struct3.c: Likewise.
2945
f145ed6b
AT
29462003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
2947
2948 * testsuite/libffi.call/cls_double.c: Do a check on the result.
2949 * testsuite/libffi.call/cls_uchar.c: Likewise.
2950 * testsuite/libffi.call/cls_uint.c: Likewise.
2951 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
2952 * testsuite/libffi.call/cls_ushort.c: Likewise.
2953 * testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
2954
2b04d015
AT
29552003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
2956
2957 * src/prep_cif.c (ffi_prep_cif): Move the validity check after
2958 the initialization.
2959
57f542b3
AT
29602003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
2961
2b04d015 2962 * src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
57f542b3
AT
2963 FFI_ASSERT(FALSE) with FFI_ASSERT(0).
2964
e61acf72
DD
29652003-10-22 David Daney <ddaney@avtrex.com>
2966
2967 * src/mips/ffitarget.h: Replace undefined UINT32 and friends with
2968 __attribute__((__mode__(__SI__))) and friends.
2969
2461c08b
AS
29702003-10-22 Andreas Schwab <schwab@suse.de>
2971
2972 * src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
2973
1450eb7a
AT
29742003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
2975
2976 * configure.in: AC_LINK_FILES(ffitarget.h).
2977 * configure: Regenerate.
2978 * Makefile.in: Likewise.
2979 * include/Makefile.in: Likewise.
2980 * testsuite/Makefile.in: Likewise.
2981 * fficonfig.h.in: Likewise.
2982
29832003-10-21 Paolo Bonzini <bonzini@gnu.org>
2984 Richard Henderson <rth@redhat.com>
2985
2986 Avoid that ffi.h includes fficonfig.h.
2987
2988 * Makefile.am (EXTRA_DIST): Include ffitarget.h files
2989 (TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
2990 (TARGET_SRC_MIPS_SGI): Removed.
2991 (MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
2992 (MIPS_SGI): Removed.
2993 (CLEANFILES): Removed.
2994 (mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
2995 targets.
2996 * acconfig.h: Removed.
2997 * configure.in: Compute sizeofs only for double and long double.
2998 Use them to define and subst HAVE_LONG_DOUBLE. Include comments
2999 into AC_DEFINE instead of using acconfig.h. Create
3000 include/ffitarget.h instead of include/fficonfig.h. Rename
3001 MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
3002 AC_DEFINE EH_FRAME_FLAGS.
3003 * include/Makefile.am (DISTCLEANFILES): New automake macro.
3004 (hack_DATA): Add ffitarget.h.
3005 * include/ffi.h.in: Remove all system specific definitions.
3006 Declare raw API even if it is not installed, why bother?
3007 Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
3008 not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
3009 ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
3010 (UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
3011 * include/ffi_common.h (bool): Do not define.
3012 (ffi_assert): Accept failed assertion.
3013 (ffi_type_test): Return void and accept file/line.
3014 (FFI_ASSERT): Pass stringized failed assertion.
3015 (FFI_ASSERT_AT): New macro.
3016 (FFI_ASSERT_VALID_TYPE): New macro.
3017 (UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
3018 UINT64, SINT64): Define here with gcc's __attribute__ macro
3019 instead of in ffi.h
3020 (FLOAT32, ALIGN): Define here instead of in ffi.h
3021 * include/ffi-mips.h: Removed. Its content moved to
3022 src/mips/ffitarget.h after separating assembly and C sections.
3023 * src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
3024 src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
3025 src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
3026 src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
3027 SIZEOF_ARG -> FFI_SIZEOF_ARG.
3028 * src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
3029 * src/debug.c (ffi_assert): Accept stringized failed assertion.
3030 (ffi_type_test): Rewritten.
3031 * src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
3032 FFI_ASSERT_VALID_TYPE.
3033 * src/alpha/ffitarget.h, src/arm/ffitarget.h,
3034 src/ia64/ffitarget.h, src/m68k/ffitarget.h,
3035 src/mips/ffitarget.h, src/powerpc/ffitarget.h,
3036 src/s390/ffitarget.h, src/sh/ffitarget.h,
3037 src/sh64/ffitarget.h, src/sparc/ffitarget.h,
3038 src/x86/ffitarget.h: New files.
3039 * src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
3040 src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
3041 src/powerpc/aix.S, src/powerpc/darwin.S,
3042 src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
3043 src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
3044 src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
3045 src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
3046 src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
3047 include fficonfig.h
3048
27d54b2a
RO
30492003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3050
3051 * src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
3052 _MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
3053
0df6970d
AT
30542003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
3055
3056 * src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
3057 Used when FFI_DEBUG = 1.
3058
2612ffce
AM
30592003-10-14 Alan Modra <amodra@bigpond.net.au>
3060
3061 * src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
3062 and align.
3063
d54f7354
RO
30642003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3065
3066 * include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
3067 FFI_MIPS_O32 for O32 ABI.
3068
7a54c850
AT
30692003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
3070
3071 * testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
3072 SPARC64. Cleanup whitespaces.
3073
9e3bfa9b
AT
30742003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
3075
3076 * testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
3077 strongarm, xscale. Cleanup whitespaces.
3078 * testsuite/libffi.call/closure_fn1.c: Likewise.
3079 * testsuite/libffi.call/closure_fn2.c: Likewise.
3080 * testsuite/libffi.call/closure_fn3.c: Likewise.
3081 * testsuite/libffi.call/cls_12byte.c: Likewise.
3082 * testsuite/libffi.call/cls_16byte.c: Likewise.
3083 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
3084 * testsuite/libffi.call/cls_20byte.c: Likewise.
3085 * testsuite/libffi.call/cls_24byte.c: Likewise.
3086 * testsuite/libffi.call/cls_2byte.c: Likewise.
3087 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
3088 * testsuite/libffi.call/cls_3byte1.c: Likewise.
3089 * testsuite/libffi.call/cls_3byte2.c: Likewise.
3090 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
3091 * testsuite/libffi.call/cls_4byte.c: Likewise.
3092 * testsuite/libffi.call/cls_5byte.c: Likewise.
3093 * testsuite/libffi.call/cls_6byte.c: Likewise.
3094 * testsuite/libffi.call/cls_7byte.c: Likewise.
3095 * testsuite/libffi.call/cls_8byte.c: Likewise.
3096 * testsuite/libffi.call/cls_double.c: Likewise.
3097 * testsuite/libffi.call/cls_float.c: Likewise.
3098 * testsuite/libffi.call/cls_uchar.c: Likewise.
3099 * testsuite/libffi.call/cls_uint.c: Likewise.
3100 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
3101 * testsuite/libffi.call/cls_ushort.c: Likewise.
3102 * testsuite/libffi.call/nested_struct.c: Likewise.
3103 * testsuite/libffi.call/nested_struct1.c: Likewise.
3104 * testsuite/libffi.call/problem1.c: Likewise.
3105 * testsuite/libffi.special/unwindtest.cc: Likewise.
3106 * testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
3107
3e86b595
DE
31082003-09-18 David Edelsohn <edelsohn@gnu.org>
3109
3110 * src/powerpc/aix.S: Cleanup whitespaces.
3111 * src/powerpc/aix_closure.S: Likewise.
3112
8d8369f8
AT
31132003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
3114
3115 * src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
3116 * src/powerpc/darwin_closure.S: Likewise.
3117 * src/powerpc/ffi_darwin.c: Likewise.
3118
69b182fd
AT
31192003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
3120 David Edelsohn <edelsohn@gnu.org>
3121
3122 * src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
3123 * src/powerpc/aix_closure.S: Remove the pointer to the outgoing
3124 parameter stack.
3125 * src/powerpc/darwin_closure.S: Likewise.
3126 * src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
3127 according to the Darwin/AIX ABI.
3128 (ffi_prep_cif_machdep): Likewise.
3129 (ffi_closure_helper_DARWIN): Likewise.
3130 Remove the outgoing parameter stack logic. Simplify the evaluation
3131 of the different CASE types.
3132 (ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
3133 statement in the trampoline code.
3134
df805cdc
KK
31352003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
3136
3137 * src/sh/ffi.c (ffi_prep_args): Take account into the alignement
3138 for the register size.
3139 (ffi_closure_helper_SYSV): Handle the structure return value
3140 address correctly.
3141 (ffi_closure_helper_SYSV): Return the appropriate type when
3142 the registers are used for the structure return value.
3143 * src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
3144 the 64-bit return value. Update copyright years.
3145
eb26c76c
RO
31462003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3147
3148 * testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
3149 srcdir for ffi_mips.h.
3150
6350c02c
AM
31512003-09-12 Alan Modra <amodra@bigpond.net.au>
3152
3153 * src/prep_cif.c (initialize_aggregate): Include tail padding in
3154 structure size.
3155 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
3156 placement of float result.
3157 * testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
3158 cast of "resp" for big-endian 64 bit machines.
3159
5af1c806
AM
31602003-09-11 Alan Modra <amodra@bigpond.net.au>
3161
3162 * src/types.c (double, longdouble): Merge identical SH and ARM
3163 typedefs, and add POWERPC64.
3164 * src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
3165 struct split over gpr and rest.
3166 (ffi_prep_cif_machdep): Correct intarg_count for structures.
3167 * src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
3168
086a4bd7
AT
31692003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
3170
3171 * src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
3172 passing correctly.
c930d8a5 3173
e517f636
AM
31742003-09-09 Alan Modra <amodra@bigpond.net.au>
3175
3176 * configure: Regenerate.
3177
6f20d627
AT
31782003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
3179
3180 * Makefile.am: Remove build rules for ffitest.
3181 * Makefile.in: Rebuilt.
c930d8a5 3182
6f20d627 31832003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
226660af
AT
3184
3185 * src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
3186 about implicit declaration of abort().
3187
bbf3057b
AT
31882003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
3189
3190 * Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
3191 * Makefile.in: Rebuilt.
3192 * configure.in: Add dejagnu test framework.
3193 * configure: Rebuilt.
3194
3195 * testsuite/Makefile.am: New file.
3196 * testsuite/Makefile.in: Built
c930d8a5 3197 * testsuite/lib/libffi-dg.exp: New file.
bbf3057b
AT
3198 * testsuite/config/default.exp: Likewise.
3199 * testsuite/libffi.call/call.exp: Likewise.
3200 * testsuite/libffi.call/ffitest.h: Likewise.
3201 * testsuite/libffi.call/closure_fn0.c: Likewise.
3202 * testsuite/libffi.call/closure_fn1.c: Likewise.
3203 * testsuite/libffi.call/closure_fn2.c: Likewise.
3204 * testsuite/libffi.call/closure_fn3.c: Likewise.
3205 * testsuite/libffi.call/cls_1_1byte.c: Likewise.
3206 * testsuite/libffi.call/cls_3_1byte.c: Likewise.
3207 * testsuite/libffi.call/cls_4_1byte.c: Likewise.
3208 * testsuite/libffi.call/cls_2byte.c: Likewise.
3209 * testsuite/libffi.call/cls_3byte1.c: Likewise.
3210 * testsuite/libffi.call/cls_3byte2.c: Likewise.
3211 * testsuite/libffi.call/cls_4byte.c: Likewise.
3212 * testsuite/libffi.call/cls_5byte.c: Likewise.
3213 * testsuite/libffi.call/cls_6byte.c: Likewise.
3214 * testsuite/libffi.call/cls_7byte.c: Likewise.
3215 * testsuite/libffi.call/cls_8byte.c: Likewise.
3216 * testsuite/libffi.call/cls_12byte.c: Likewise.
3217 * testsuite/libffi.call/cls_16byte.c: Likewise.
3218 * testsuite/libffi.call/cls_20byte.c: Likewise.
3219 * testsuite/libffi.call/cls_24byte.c: Likewise.
3220 * testsuite/libffi.call/cls_double.c: Likewise.
3221 * testsuite/libffi.call/cls_float.c: Likewise.
3222 * testsuite/libffi.call/cls_uchar.c: Likewise.
3223 * testsuite/libffi.call/cls_uint.c: Likewise.
3224 * testsuite/libffi.call/cls_ulonglong.c: Likewise.
3225 * testsuite/libffi.call/cls_ushort.c: Likewise.
3226 * testsuite/libffi.call/float.c: Likewise.
3227 * testsuite/libffi.call/float1.c: Likewise.
3228 * testsuite/libffi.call/float2.c: Likewise.
3229 * testsuite/libffi.call/many.c: Likewise.
3230 * testsuite/libffi.call/many_win32.c: Likewise.
3231 * testsuite/libffi.call/nested_struct.c: Likewise.
3232 * testsuite/libffi.call/nested_struct1.c: Likewise.
3233 * testsuite/libffi.call/pyobjc-tc.c: Likewise.
3234 * testsuite/libffi.call/problem1.c: Likewise.
3235 * testsuite/libffi.call/promotion.c: Likewise.
3236 * testsuite/libffi.call/return_ll.c: Likewise.
3237 * testsuite/libffi.call/return_sc.c: Likewise.
3238 * testsuite/libffi.call/return_uc.c: Likewise.
3239 * testsuite/libffi.call/strlen.c: Likewise.
3240 * testsuite/libffi.call/strlen_win32.c: Likewise.
3241 * testsuite/libffi.call/struct1.c: Likewise.
3242 * testsuite/libffi.call/struct2.c: Likewise.
3243 * testsuite/libffi.call/struct3.c: Likewise.
3244 * testsuite/libffi.call/struct4.c: Likewise.
3245 * testsuite/libffi.call/struct5.c: Likewise.
3246 * testsuite/libffi.call/struct6.c: Likewise.
3247 * testsuite/libffi.call/struct7.c: Likewise.
3248 * testsuite/libffi.call/struct8.c: Likewise.
c930d8a5 3249 * testsuite/libffi.call/struct9.c: Likewise.
bbf3057b
AT
3250 * testsuite/libffi.special/special.exp: New file.
3251 * testsuite/libffi.special/ffitestcxx.h: Likewise.
3252 * testsuite/libffi.special/unwindtest.cc: Likewise.
3253
c930d8a5 3254
996b4f8f
KK
32552003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
3256
3257 * src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
3258 copyright years.
3259
b00badcd
AM
32602003-08-02 Alan Modra <amodra@bigpond.net.au>
3261
3262 * src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
3263 structure passing.
3264 (ffi_closure_helper_LINUX64): Likewise.
3265 * src/powerpc/linux64.S: Remove code writing to parm save area.
3266 * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
3267 address in lr from ffi_closure_helper_LINUX64 call to calculate
3268 table address. Optimize function tail.
3269
c1516eae
AT
32702003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
3271
3272 * src/sparc/ffi.c: Handle all floating point registers.
3273 * src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
3274
fc0e6222
GP
32752003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
3276
3277 * README: Note that libffi is not part of GCC. Update the project
3278 URL and status.
3279
a1569df8
FS
32802003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3281
3282 * src/powerpc/ppc_closure.S: Include ffi.h.
3283
12e816bf
RO
32842003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3285
3286 * src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
3287 Use C style comments.
3288
e860ed6d
KK
32892003-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
3290
3291 * Makefile.am: Add SHmedia support. Fix a typo of SH support.
3292 * Makefile.in: Regenerate.
3293 * configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
3294 * configure: Regenerate.
3295 * include/ffi.h.in: Add SHmedia support.
3296 * src/sh64/ffi.c: New file.
3297 * src/sh64/sysv.S: New file.
3298
a733b15e
JJ
32992003-05-16 Jakub Jelinek <jakub@redhat.com>
3300
3301 * configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
3302 should be read-only.
3303 * configure: Rebuilt.
3304 * fficonfig.h.in: Rebuilt.
3305 * include/ffi.h.in (EH_FRAME_FLAGS): Define.
3306 * src/alpha/osf.S: Use EH_FRAME_FLAGS.
3307 * src/powerpc/linux64.S: Likewise.
3308 * src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
3309 * src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
3310 if -fpic/-fPIC/-mrelocatable.
3311 * src/powerpc/powerpc_closure.S: Likewise.
3312 * src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
3313 #write in .eh_frame flags.
3314 * src/sparc/v9.S: Likewise.
3315 * src/x86/unix64.S: Use EH_FRAME_FLAGS.
3316 * src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
3317 * src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
3318
bd19c9f4
JS
33192003-05-07 Jeff Sturm <jsturm@one-point.com>
3320
3321 Fixes PR bootstrap/10656
3322 * configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
3323 support for .register pseudo-op.
3324 * src/sparc/v8.S: Use it.
3325 * fficonfig.h.in: Rebuilt.
3326 * configure: Rebuilt.
3327
e9b84181
JJ
33282003-04-18 Jakub Jelinek <jakub@redhat.com>
3329
3330 * include/ffi.h.in (POWERPC64): Define if 64-bit.
3331 (enum ffi_abi): Add FFI_LINUX64 on POWERPC.
3332 Make it the default on POWERPC64.
3333 (FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
3334 * configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
3335 * configure: Rebuilt.
3336 * src/powerpc/ffi.c (hidden): Define.
3337 (ffi_prep_args_SYSV): Renamed from
3338 ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
3339 (NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
3340 ASM_NEEDS_REGISTERS64): New.
3341 (ffi_prep_args64): New function.
3342 (ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
3343 (ffi_call): Likewise.
3344 (ffi_prep_closure): Likewise.
3345 (flush_icache): Surround by #ifndef POWERPC64.
3346 (ffi_dblfl): New union type.
3347 (ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
3348 (ffi_closure_helper_LINUX64): New function.
3349 * src/powerpc/ppc_closure.S: Surround whole file by #ifndef
3350 __powerpc64__.
3351 * src/powerpc/sysv.S: Likewise.
3352 (ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
3353 * src/powerpc/linux64.S: New file.
3354 * src/powerpc/linux64_closure.S: New file.
3355 * Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
3356 src/powerpc/linux64_closure.S.
3357 (TARGET_SRC_POWERPC): Likewise.
3358
3359 * src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
3360 closure_test_fn3): Fix result printing on big-endian 64-bit
3361 machines.
3362 (main): Print tst2_arg instead of uninitialized tst2_result.
3363
3364 * src/ffitest.c (main): Hide what closure pointer really points to
3365 from the compiler.
3366
908a31e1
RE
33672003-04-16 Richard Earnshaw <rearnsha@arm.com>
3368
3369 * configure.in (arm-*-netbsdelf*): Add configuration.
3370 (configure): Regenerated.
3371
41a73c4c
LR
33722003-04-04 Loren J. Rittle <ljrittle@acm.org>
3373
3374 * include/Makefile.in: Regenerate.
3375
cd41c847
ZD
33762003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3377
3378 * libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
3379 bit mode.
3380 * libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
3381 Receive closure pointer through parameter, read args using
3382 __builtin_dwarf_cfa.
3383 (FFI_INIT_TRAMPOLINE): Send closure reference through eax.
3384
6db450f9
AS
33852003-03-12 Andreas Schwab <schwab@suse.de>
3386
3387 * configure.in: Avoid trailing /. in toolexeclibdir.
3388 * configure: Rebuilt.
3389
70144e9c
AT
33902003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
3391
c6900272 3392 * src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
70144e9c 3393
79e43f89
AT
33942003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
3395
3396 * libffi/src/powerpc/darwin_closure.S:
3397 Fix alignement bug, allocate 8 bytes for the result.
c930d8a5 3398 * libffi/src/powerpc/aix_closure.S:
79e43f89
AT
3399 Likewise.
3400 * libffi/src/powerpc/ffi_darwin.c:
3401 Update stackframe description for aix/darwin_closure.S.
c930d8a5 3402
0fcc9e55
JJ
34032003-02-06 Jakub Jelinek <jakub@redhat.com>
3404
3405 * src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
3406 attribute.
3407
63b87c2e
CC
34082003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
3409 Andreas Schwab <schwab@suse.de>
3410
c6900272 3411 * configure.in: Adjust command to source config-ml.in to account
63b87c2e
CC
3412 for changes to the libffi_basedir definition.
3413 (libffi_basedir): Remove ${srcdir} from value and include trailing
3414 slash if nonempty.
c930d8a5 3415
c6900272 3416 * configure: Regenerate.
63b87c2e 3417
c33402e2
FS
34182003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
3419
3420 * src/powerpc/ppc_closure.S: Recode to fit shared libs.
3421
fd2e49b2
AH
34222003-01-28 Andrew Haley <aph@redhat.com>
3423
3424 * include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
3425 * src/x86/ffi64.c (ffi_prep_closure): New.
3426 (ffi_closure_UNIX64_inner): New.
3427 * src/x86/unix64.S (ffi_closure_UNIX64): New.
3428
0e292c01
AO
34292003-01-27 Alexandre Oliva <aoliva@redhat.com>
3430
3431 * configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
3432 Remove USE_LIBDIR conditional.
3433 * Makefile.am (toolexecdir, toolexeclibdir): Don't override.
3434 * Makefile.in, configure: Rebuilt.
3435
acabc220
DE
34362003-01027 David Edelsohn <edelsohn@gnu.org>
3437
3438 * Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
3439 * Makefile.in: Regenerate.
3440
be0acd42
AH
34412003-01-22 Andrew Haley <aph@redhat.com>
3442
3443 * src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
3444 unwind info.
3445
ed695c8e
AT
34462003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
3447
3448 * src/powerpc/darwin.S: Add unwind info.
3449 * src/powerpc/darwin_closure.S: Likewise.
3450
45ba15f4
AH
34512003-01-14 Andrew Haley <aph@redhat.com>
3452
3453 * src/x86/ffi64.c (ffi_prep_args): Check for void retval.
3454 (ffi_prep_cif_machdep): Likewise.
3455 * src/x86/unix64.S: Add unwind info.
3456
4b5f402e
AJ
34572003-01-14 Andreas Jaeger <aj@suse.de>
3458
3459 * src/ffitest.c (main): Only use ffi_closures if those are
3460 supported.
3461
7b5102af
TT
34622003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
3463
3464 * libffi/src/ffitest.c
c6900272 3465 add closure testcases
7b5102af
TT
3466
34672003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
3468
3469 * libffi/src/powerpc/ffi.c
c6900272 3470 fix alignment bug for float (4 byte aligned iso 8 byte)
7b5102af 3471
5f7c78d8
GK
34722003-01-09 Geoffrey Keating <geoffk@apple.com>
3473
3474 * src/powerpc/ffi_darwin.c: Remove RCS version string.
3475 * src/powerpc/darwin.S: Remove RCS version string.
3476
c75c7793
JS
34772003-01-03 Jeff Sturm <jsturm@one-point.com>
3478
3479 * include/ffi.h.in: Add closure defines for SPARC, SPARC64.
3480 * src/ffitest.c (main): Use static storage for closure.
3481 * src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
3482 * src/sparc/v8.S (ffi_closure_v8): New.
3483 * src/sparc/v9.S (ffi_closure_v9): New.
3484
eb3c46a1
RM
34852002-11-10 Ranjit Mathew <rmathew@hotmail.com>
3486
3487 * include/ffi.h.in: Added FFI_STDCALL ffi_type
3488 enumeration for X86_WIN32.
3489 * src/x86/win32.S: Added ffi_call_STDCALL function
3490 definition.
3491 * src/x86/ffi.c (ffi_call/ffi_raw_call): Added
3492 switch cases for recognising FFI_STDCALL and
3493 calling ffi_call_STDCALL if target is X86_WIN32.
3494 * src/ffitest.c (my_stdcall_strlen/stdcall_many):
3495 stdcall versions of the "my_strlen" and "many"
3496 test functions (for X86_WIN32).
3497 Added test cases to test stdcall invocation using
3498 these functions.
3499
4977bab6
ZW
35002002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
3501
3502 * src/sh/sysv.S: Add DWARF2 unwind info.
3503
67333e84
UW
35042002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
3505
3506 * src/s390/sysv.S (.eh_frame section): Make section read-only.
3507
bc3cf760
JW
35082002-11-26 Jim Wilson <wilson@redhat.com>
3509
3510 * src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
3511
4977bab6
ZW
35122002-11-23 H.J. Lu <hjl@gnu.org>
3513
3514 * acinclude.m4: Add dummy AM_PROG_LIBTOOL.
3515 Include ../config/accross.m4.
3516 * aclocal.m4; Rebuild.
3517 * configure: Likewise.
3518
18789f4e
UW
35192002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
3520
3521 * src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
3522
6bee5372
DD
35232002-11-11 DJ Delorie <dj@redhat.com>
3524
3525 * configure.in: Look for common files in the right place.
3526
8177895b
UW
35272002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
3528
3529 * src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
3530 raw data as _Jv_word values, not ffi_raw.
3531 (ffi_java_ptrarray_to_raw): Likewise.
3532 (ffi_java_rvalue_to_raw): New function.
3533 (ffi_java_raw_call): Call it.
3534 (ffi_java_raw_to_rvalue): New function.
3535 (ffi_java_translate_args): Call it.
3536 * src/ffitest.c (closure_test_fn): Interpret return value
3537 as ffi_arg, not int.
3538 * src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
3539 FFI_TYPE_POINTER case.
3540 (ffi_closure_helper_SYSV): Likewise. Also, assume return
3541 values extended to word size.
3542
af50f4c8
AJ
35432002-10-02 Andreas Jaeger <aj@suse.de>
3544
3545 * src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
3546
5d297584
BT
35472002-10-01 Bo Thorsen <bo@smetana.suse.de>
3548
3549 * include/ffi.h.in: Fix i386 win32 compilation.
3550
c4f17c6f
UW
35512002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
3552
3553 * configure.in: Add s390x-*-linux-* target.
3554 * configure: Regenerate.
3555 * include/ffi.h.in: Define S390X for s390x targets.
3556 (FFI_CLOSURES): Define for s390/s390x.
3557 (FFI_TRAMPOLINE_SIZE): Likewise.
3558 (FFI_NATIVE_RAW_API): Likewise.
3559 * src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
3560 * src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
4977bab6 3561 * src/s390/ffi.c: Major rework of existing code. Add support for
c4f17c6f
UW
3562 s390x targets. Add closure support.
3563 * src/s390/sysv.S: Likewise.
3564
d7b52625
RE
35652002-09-29 Richard Earnshaw <rearnsha@arm.com>
3566
3567 * src/arm/sysv.S: Fix typo.
3568
28165e22
RE
35692002-09-28 Richard Earnshaw <rearnsha@arm.com>
3570
3571 * src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
3572 has defined __USER_LABEL_PREFIX__, then use it in CNAME.
3573 (ffi_call_SYSV): Handle soft-float.
3574
0b0f4163
BT
35752002-09-27 Bo Thorsen <bo@suse.de>
3576
3577 * include/ffi.h.in: Fix multilib x86-64 support.
3578
6c5d742e
KG
35792002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
3580
3581 * Makefile.am (all-multi): Fix multilib parallel build.
3582
f4b2b0d6
KK
35832002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
3584
3585 * configure.in (sh[34]*-*-linux*): Add brackets.
3586 * configure: Regenerate.
3587
ddebdfeb
KK
35882002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
3589
3590 * Makefile.am: Add SH support.
3591 * Makefile.in: Regenerate.
3592 * configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
3593 * configure: Regenerate.
3594 * include/ffi.h.in: Add SH support.
3595 * src/sh/ffi.c: New file.
3596 * src/sh/sysv.S: New file.
3597 * src/types.c: Add SH support.
3598
c94974ca
BT
35992002-07-16 Bo Thorsen <bo@suse.de>
3600
3601 * src/x86/ffi64.c: New file that adds x86-64 support.
3602 * src/x86/unix64.S: New file that handles argument setup for
3603 x86-64.
3604 * src/x86/sysv.S: Don't use this on x86-64.
3605 * src/x86/ffi.c: Don't use this on x86-64.
3606 Remove unused vars.
3607 * src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
3608 for x86-64.
3609 * src/ffitest.c (struct6): New test that tests a special case in
3610 the x86-64 ABI.
3611 (struct7): Likewise.
3612 (struct8): Likewise.
3613 (struct9): Likewise.
3614 (closure_test_fn): Silence warning about this when it's not used.
3615 (main): Add the new tests.
3616 (main): Fix a couple of wrong casts and silence some compiler warnings.
3617 * include/ffi.h.in: Add x86-64 ABI definition.
3618 * fficonfig.h.in: Regenerate.
3619 * Makefile.am: Add x86-64 support.
3620 * configure.in: Likewise.
3621 * Makefile.in: Regenerate.
3622 * configure: Likewise.
3623
36242002-06-24 Bo Thorsen <bo@suse.de>
3625
3626 * src/types.c: Merge settings for similar architectures.
3627 Add x86-64 sizes and alignments.
3628
36292002-06-23 Bo Thorsen <bo@suse.de>
3630
3631 * src/arm/ffi.c (ffi_prep_args): Remove unused vars.
3632 * src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
3633 * src/mips/ffi.c (ffi_prep_args): Likewise.
3634 * src/m68k/ffi.c (ffi_prep_args): Likewise.
3635
5be36a8f
L
36362002-07-18 H.J. Lu (hjl@gnu.org)
3637
3638 * Makefile.am (TARGET_SRC_MIPS_LINUX): New.
3639 (libffi_la_SOURCES): Support MIPS_LINUX.
3640 (libffi_convenience_la_SOURCES): Likewise.
3641 * Makefile.in: Regenerated.
3642
3643 * configure.in (mips64*-*): Skip.
3644 (mips*-*-linux*): New.
3645 * configure: Regenerated.
3646
3647 * src/mips/ffi.c: Include <sgidefs.h>.
3648
ad5e163c
UW
36492002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
3650
3651 * src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
3652
ee4586c5
RS
36532002-05-27 Roger Sayle <roger@eyesopen.com>
3654
3655 * src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
3656
b86aa7b0
BT
36572002-05-27 Bo Thorsen <bo@suse.de>
3658
3659 * src/x86/ffi.c (ffi_prep_args): Remove unused variable and
3660 fix formatting.
3661
859f7aaf
AT
36622002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
3663
3664 * src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
3665 beginning of function (for older apple cc).
3666
6706f116
AO
36672002-05-08 Alexandre Oliva <aoliva@redhat.com>
3668
3669 * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
3670 script entry, and set LD to it when configuring multilibs.
3671 * configure: Rebuilt.
3672
fad655c8
JT
36732002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
3674
3675 * configure.in (sparc64-*-netbsd*): Add target.
3676 (sparc-*-netbsdelf*): Likewise.
3677 * configure: Regenerate.
3678
189ab118
DM
36792002-04-28 David S. Miller <davem@redhat.com>
3680
3681 * configure.in, configure: Fix SPARC test in previous change.
3682
22bcf65c
GT
36832002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
3684
3685 * Makefile.am: Add Linux for S/390 support.
3686 * Makefile.in: Regenerate.
3687 * configure.in: Add Linux for S/390 support.
3688 * configure: Regenerate.
3689 * include/ffi.h.in: Add Linux for S/390 support.
3690 * src/s390/ffi.c: New file from libffi CVS tree.
3691 * src/s390/sysv.S: New file from libffi CVS tree.
3692
5d84cf0b
JJ
36932002-04-28 Jakub Jelinek <jakub@redhat.com>
3694
3695 * configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
3696 %r_disp32().
3697 * src/sparc/v8.S: Use it.
3698 * src/sparc/v9.S: Likewise.
3699 * fficonfig.h.in: Rebuilt.
3700 * configure: Rebuilt.
3701
cc382e5c
HB
37022002-04-08 Hans Boehm <Hans_Boehm@hp.com>
3703
3704 * src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
3705 correctly.
3706 * src/ia64/unix.S: Add unwind information. Fix comments.
3707 Save sp in a way that's compatible with unwind info.
3708 (ffi_call_unix): Correctly restore sp in all cases.
3709 * src/ia64/ffi.c: Add, fix comments.
3710
dc798645
JJ
37112002-04-08 Jakub Jelinek <jakub@redhat.com>
3712
3713 * src/sparc/v8.S: Make .eh_frame dependent on target word size.
3714
da00eaab
JT
37152002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
3716
3717 * configure.in (alpha*-*-netbsd*): Add target.
3718 * configure: Regenerate.
3719
0c0b87ad
JS
37202002-04-04 Jeff Sturm <jsturm@one-point.com>
3721
3722 * src/sparc/v8.S: Add unwind info.
3723 * src/sparc/v9.S: Likewise.
3724
320d7e7a
KW
37252002-03-30 Krister Walfridsson <cato@df.lth.se>
3726
3727 * configure.in: Enable i*86-*-netbsdelf*.
3728 * configure: Rebuilt.
4977bab6 3729
c75e51ed
DB
37302002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
3731
3732 PR other/2620
3733 * src/mips/n32.s: Delete
3734 * src/mips/o32.s: Delete
3735
5bb366e0
LR
37362002-03-21 Loren J. Rittle <ljrittle@acm.org>
3737
3738 * configure.in: Enable alpha*-*-freebsd*.
3739 * configure: Rebuilt.
3740
ce3b24a7
BM
37412002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3742
3743 * Makefile.am: libfficonvenience -> libffi_convenience.
3744 * Makefile.in: Rebuilt.
4977bab6 3745
1eb7ba30
BM
3746 * Makefile.am: Define ffitest_OBJECTS.
3747 * Makefile.in: Rebuilt.
ce3b24a7 3748
073ae293
AT
37492002-03-07 Andreas Tobler <toa@pop.agri.ch>
3750 David Edelsohn <edelsohn@gnu.org>
3751
3752 * Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
3753 (TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
3754 (TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
3755 * Makefile.in: Regenerate.
3756 * include/ffi.h.in: Add AIX and Darwin closure definitions.
3757 * src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
3758 (flush_icache, flush_range): New functions.
3759 (ffi_closure_helper_DARWIN): New function.
3760 * src/powerpc/aix_closure.S: New file.
3761 * src/powerpc/darwin_closure.S: New file.
4977bab6 3762
02c521f4
JS
37632002-02-24 Jeff Sturm <jsturm@one-point.com>
3764
3765 * include/ffi.h.in: Add typedef for ffi_arg.
3766 * src/ffitest.c (main): Declare rint with ffi_arg.
4977bab6 3767
287dd527
AT
37682002-02-21 Andreas Tobler <toa@pop.agri.ch>
3769
3770 * src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
3771 number of GPRs for floating-point arguments.
3772
e2f2e70a
AG
37732002-01-31 Anthony Green <green@redhat.com>
3774
3775 * configure: Rebuilt.
3776 * configure.in: Replace CHECK_SIZEOF and endian tests with
3777 cross-compiler friendly macros.
3778 * aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
3779 macros.
3780
15b9b32f
DE
37812002-01-18 David Edelsohn <edelsohn@gnu.org>
3782
3783 * src/powerpc/darwin.S (_ffi_call_AIX): New.
1f7d5413 3784 * src/powerpc/aix.S (ffi_call_DARWIN): New.
15b9b32f 3785
2f4006f8
DE
37862002-01-17 David Edelsohn <edelsohn@gnu.org>
3787
3788 * Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
3789 (TARGET_SRC_POWERPC_AIX): New.
3790 (POWERPC_AIX): New stanza.
3791 * Makefile.in: Regenerate.
3792 * configure.in: Add AIX case.
3793 * configure: Regenerate.
3794 * include/ffi.h.in (ffi_abi): Add FFI_AIX.
3795 * src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
3796 size. Fix "long double" support.
3797 (ffi_call): Add FFI_AIX case.
3798 * src/powerpc/aix.S: New.
3799
3c017635
JH
38002001-10-09 John Hornkvist <john@toastedmarshmallow.com>
3801
3802 Implement Darwin PowerPC ABI.
3803 * configure.in: Handle powerpc-*-darwin*.
3804 * Makefile.am: Set source files for POWERPC_DARWIN.
3805 * configure: Rebuilt.
3806 * Makefile.in: Rebuilt.
3807 * include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
3808 POWERPC_DARWIN.
3809 * src/powerpc/darwin.S: New file.
3810 * src/powerpc/ffi_darwin.c: New file.
3811
cc712abf
JM
38122001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
3813
3814 * src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
3815
03a8de49
RO
38162001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3817
3818 * src/x86/sysv.S: Avoid gas-only .balign directive.
3819 Use C style comments.
3820
92a0e6c6
RO
38212001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3822
3823 * src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
3824 Fixes PR bootstrap/3563.
3825
57482f58
RO
38262001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3827
3828 * src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
3829
d7e2dd2f
RO
38302001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3831
3832 * configure.in: Recognize sparc*-sun-* host.
3833 * configure: Regenerate.
4977bab6 3834
be72207c
AH
38352001-06-06 Andrew Haley <aph@redhat.com>
3836
4075db8f 3837 * src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
be72207c 3838
552cb45a
AH
38392001-06-03 Andrew Haley <aph@redhat.com>
3840
4075db8f
BT
3841 * src/alpha/osf.S: Add unwind info.
3842 * src/powerpc/sysv.S: Add unwind info.
3843 * src/powerpc/ppc_closure.S: Likewise.
552cb45a 3844
7d45b968
JS
38452000-05-31 Jeff Sturm <jsturm@one-point.com>
3846
3847 * configure.in: Fix AC_ARG_ENABLE usage.
3848 * configure: Rebuilt.
3849
2a7f63c4
BM
38502001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
3851
3852 * configure.in: Remove warning about beta code.
3853 * configure: Rebuilt.
3854
38552001-04-25 Hans Boehm <Hans_Boehm@hp.com>
3856
03a55252
HB
3857 * src/ia64/unix.S: Restore stack pointer when returning from
3858 ffi_closure_UNIX.
3859 * src/ia64/ffi.c: Fix typo in comment.
3860
df5da1c4
JW
38612001-04-18 Jim Wilson <wilson@redhat.com>
3862
3863 * src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
3864 to eliminate RAW DV.
3865
52c28977
BM
38662001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
3867
3868 * Makefile.am: Make a libtool convenience library.
3869 * Makefile.in: Rebuilt.
3870
3b905056
BM
38712001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
3872
3873 * configure.in: Use different syntax for subdirectory creation.
3874 * configure: Rebuilt.
3875
d6c4152a
JB
38762001-03-27 Jon Beniston <jon@beniston.com>
3877
3878 * configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
3879 * configure: Rebuilt.
3880 * Makefile.am: Added X86_WIN32 target support.
3881 * Makefile.in: Rebuilt.
3882
3883 * include/ffi.h.in: Added X86_WIN32 target support.
3884
3885 * src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
3886 * src/types.c: Added X86_WIN32 target support.
3887
3888 * src/x86/win32.S: New file. Based on sysv.S, but with EH
3889 stuff removed and made to work with CygWin's gas.
3890
675cdab3
BM
38912001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
3892
3893 * configure.in: Make target subdirectory in build dir.
3894 * Makefile.am: Override suffix based rules to specify correct output
3895 subdirectory.
3896 * Makefile.in: Rebuilt.
3897 * configure: Rebuilt.
3898
e5f8858a 38992001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
cc4c8975
KH
3900
3901 * src/powerpc/ppc_closure.S: New file.
3902 * src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
3903 involving long long and register pairs.
3904 (ffi_prep_closure): New function.
3905 (flush_icache): Likewise.
3906 (ffi_closure_helper_SYSV): Likewise.
3907 * include/ffi.h.in (FFI_CLOSURES): Define on PPC.
3908 (FFI_TRAMPOLINE_SIZE): Likewise.
3909 (FFI_NATIVE_RAW_API): Likewise.
3910 * Makefile.in: Rebuilt.
3911 * Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
3912 (TARGET_SRC_POWERPC): Likewise.
3913
9450a929
TT
39142001-03-19 Tom Tromey <tromey@redhat.com>
3915
3916 * Makefile.in: Rebuilt.
3917 * Makefile.am (ffitest_LDFLAGS): New macro.
3918
4d2cf715
NC
39192001-03-02 Nick Clifton <nickc@redhat.com>
3920
3921 * include/ffi.h.in: Remove RCS ident string.
3922 * include/ffi_mips.h: Remove RCS ident string.
3923 * src/debug.c: Remove RCS ident string.
3924 * src/ffitest.c: Remove RCS ident string.
3925 * src/prep_cif.c: Remove RCS ident string.
3926 * src/types.c: Remove RCS ident string.
3927 * src/alpha/ffi.c: Remove RCS ident string.
3928 * src/alpha/osf.S: Remove RCS ident string.
3929 * src/arm/ffi.c: Remove RCS ident string.
3930 * src/arm/sysv.S: Remove RCS ident string.
3931 * src/mips/ffi.c: Remove RCS ident string.
3932 * src/mips/n32.S: Remove RCS ident string.
3933 * src/mips/o32.S: Remove RCS ident string.
3934 * src/sparc/ffi.c: Remove RCS ident string.
3935 * src/sparc/v8.S: Remove RCS ident string.
3936 * src/sparc/v9.S: Remove RCS ident string.
3937 * src/x86/ffi.c: Remove RCS ident string.
3938 * src/x86/sysv.S: Remove RCS ident string.
3939
7e5fd99f
JM
39402001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
3941
3942 * include/ffi.h.in: Change sourceware.cygnus.com references to
3943 gcc.gnu.org.
3944
3f67ba6e
RH
39452000-12-09 Richard Henderson <rth@redhat.com>
3946
3947 * src/alpha/ffi.c (ffi_call): Simplify struct return test.
3948 (ffi_closure_osf_inner): Index rather than increment avalue
3949 and arg_types. Give ffi_closure_osf the raw return value type.
3950 * src/alpha/osf.S (ffi_closure_osf): Handle return value type
3951 promotion.
3952
39532000-12-07 Richard Henderson <rth@redhat.com>
29fe0479
RH
3954
3955 * src/raw_api.c (ffi_translate_args): Fix typo.
3956 (ffi_prep_closure): Likewise.
3957
3958 * include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
3959 FFI_TRAMPOLINE_SIZE.
3960 * src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
3961 cif->bytes for new ffi_call_osf implementation.
3962 (ffi_prep_args): Absorb into ...
3963 (ffi_call): ... here. Do all stack allocation here and
3964 avoid a callback function.
3965 (ffi_prep_closure, ffi_closure_osf_inner): New.
3966 * src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
3967 (ffi_closure_osf): New.
3968
2f7bf5b7
AO
39692000-09-10 Alexandre Oliva <aoliva@redhat.com>
3970
ed1c1a1a
AO
3971 * config.guess, config.sub, install-sh: Removed.
3972 * ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
3973 * Makefile.in: Rebuilt.
3974
2f7bf5b7
AO
3975 * acinclude.m4: Include libtool macros from the top level.
3976 * aclocal.m4, configure: Rebuilt.
3977
e15a68e7
AO
39782000-08-22 Alexandre Oliva <aoliva@redhat.com>
3979
3980 * configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
3981 * configure: Rebuilt.
3982
7f8c11d5
SB
39832000-05-11 Scott Bambrough <scottb@netwinder.org>
3984
4977bab6
ZW
3985 * libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
3986 memory correctly. Use conditional instructions, not branches where
7f8c11d5
SB
3987 possible.
3988
c5acf51f
TT
39892000-05-04 Tom Tromey <tromey@cygnus.com>
3990
3991 * configure: Rebuilt.
3992 * configure.in: Match `arm*-*-linux-*'.
3993 From Chris Dornan <cdornan@arm.com>.
3994
91bffbe9
JJ
39952000-04-28 Jakub Jelinek <jakub@redhat.com>
3996
3997 * Makefile.am (SUBDIRS): Define.
3998 (AM_MAKEFLAGS): Likewise.
3999 (Multilib support.): Add section.
4000 * Makefile.in: Rebuilt.
4001 * ltconfig (extra_compiler_flags, extra_compiler_flags_value):
4075db8f
BT
4002 New variables. Set for gcc using -print-multi-lib. Export them
4003 to libtool.
4004 (sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
4005 * ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
4006 for -shared links.
4007 (extra_compiler_flags_value, extra_compiler_flags): Check these
4008 for extra compiler options which need to be passed down in
4009 compiler_flags.
91bffbe9 4010
bd66587e
AG
40112000-04-16 Anthony Green <green@redhat.com>
4012
4013 * configure: Rebuilt.
4014 * configure.in: Change i*86-pc-linux* to i*86-*-linux*.
4015
3791773c
JJ
40162000-04-14 Jakub Jelinek <jakub@redhat.com>
4017
4075db8f 4018 * include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
3791773c
JJ
4019 Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
4020 * src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
4021 Replace all void * sizeofs with sizeof(int).
4022 Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
4023 different than DOUBLE.
4024 Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
4025 (ffi_prep_args_v9): New function.
4026 (ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
4027 (ffi_V9_return_struct): New function.
4028 (ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
4029 32bit code (not yet cross-arch calls).
4030 * src/sparc/v8.S: Add struct return delay nop.
4031 Handle long long.
4032 * src/sparc/v9.S: New file.
4033 * src/prep_cif.c (ffi_prep_cif): Return structure pointer
4034 is used on sparc64 only for structures larger than 32 bytes.
4035 Pass by reference for structures is done for structure arguments
4036 larger than 16 bytes.
4037 * src/ffitest.c (main): Use 64bit rint on sparc64.
4038 Run long long tests on sparc.
4039 * src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
4040 sparc64.
4041 (FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
4042 on sparc64.
4043 * configure.in (sparc-*-linux*): New supported target.
4044 (sparc64-*-linux*): Likewise.
4045 * configure: Rebuilt.
4046 * Makefile.am: Add v9.S to SPARC files.
4047 * Makefile.in: Likewise.
4048 (LINK): Surround $(CCLD) into double quotes, so that multilib
4049 compiles work correctly.
4050
db459595
APB
40512000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
4052
4053 * configure: Rebuilt.
4054 * configure.in: (i*86-*-solaris*): New libffi target. Patch
4055 proposed by Bryce McKinlay.
4056
c1f63902
TT
40572000-03-20 Tom Tromey <tromey@cygnus.com>
4058
4059 * Makefile.in: Hand edit for java_raw_api.lo.
4060
0f72dc9e
BM
40612000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
4062
4063 * config.guess, config.sub: Update from the gcc tree.
4064 Fix for PR libgcj/168.
4065
3c18f2d1
TT
40662000-03-03 Tom Tromey <tromey@cygnus.com>
4067
323eee8a
TT
4068 * Makefile.in: Fixed ia64 by hand.
4069
3c18f2d1
TT
4070 * configure: Rebuilt.
4071 * configure.in (--enable-multilib): New option.
4072 (libffi_basedir): New subst.
4073 (AC_OUTPUT): Added multilib code.
4074
a2b10a92
TT
40752000-03-02 Tom Tromey <tromey@cygnus.com>
4076
4077 * Makefile.in: Rebuilt.
4078 * Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
4079 directory name.
4080
dc5de370
HB
40812000-02-25 Hans Boehm <boehm@acm.org>
4082
4083 * src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
4084 files.
4085 * src/raw_api.c (ffi_translate_args): Fixed typo in argument
4086 list.
4087 (ffi_prep_raw_closure): Use ffi_translate_args, not
4088 ffi_closure_translate.
4089 * src/java_raw_api.c: New file.
4090 * src/ffitest.c (closure_test_fn): New function.
4091 (main): Define `rint' as long long on IA64. Added new test when
4092 FFI_CLOSURES is defined.
4093 * include/ffi.h.in (ALIGN): Use size_t, not unsigned.
4094 (ffi_abi): Recognize IA64.
4095 (ffi_raw): Added `flt' field.
4096 Added "Java raw API" code.
4097 * configure.in: Recognize ia64.
4098 * Makefile.am (TARGET_SRC_IA64): New macro.
4099 (libffi_la_common_SOURCES): Added java_raw_api.c.
4100 (libffi_la_SOURCES): Define in IA64 case.
4101
d79229bd
TT
41022000-01-04 Tom Tromey <tromey@cygnus.com>
4103
4104 * Makefile.in: Rebuilt with newer automake.
4105
2c33b220
TT
41061999-12-31 Tom Tromey <tromey@cygnus.com>
4107
4108 * Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
4109
6ba9e3b0
TT
41101999-09-01 Tom Tromey <tromey@cygnus.com>
4111
4112 * include/ffi.h.in: Removed PACKAGE and VERSION defines and
4113 undefs.
4114 * fficonfig.h.in: Rebuilt.
4115 * configure: Rebuilt.
4116 * configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
4117 Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
4118 * acconfig.h: Don't #undef PACKAGE or VERSION.
4119
63e5e3e0
AG
41201999-08-09 Anthony Green <green@cygnus.com>
4121
4122 * include/ffi.h.in: Try to work around messy header problem
4123 with PACKAGE and VERSION.
4124
4125 * configure: Rebuilt.
4126 * configure.in: Change version to 2.00-beta.
4127
4075db8f 4128 * fficonfig.h.in: Rebuilt.
63e5e3e0
AG
4129 * acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
4130
4131 * src/x86/ffi.c (ffi_raw_call): Rename.
4132
41331999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
4134
4135 * src/x86/ffi.c (ffi_closure_SYSV): New function.
4136 (ffi_prep_incoming_args_SYSV): Ditto.
4137 (ffi_prep_closure): Ditto.
4138 (ffi_closure_raw_SYSV): Ditto.
4139 (ffi_prep_raw_closure): More ditto.
4140 (ffi_call_raw): Final ditto.
4141
4142 * include/ffi.h.in: Add definitions for closure and raw API.
4143
4144 * src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
4977bab6 4145 FFI_TYPE_UINT64.
63e5e3e0
AG
4146
4147 * Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
4148
4149 * src/raw_api.c: New file.
4150
4151 * include/ffi.h.in (ffi_raw): New type.
4152 (UINT_ARG, SINT_ARG): New defines.
4153 (ffi_closure, ffi_raw_closure): New types.
4154 (ffi_prep_closure, ffi_prep_raw_closure): New declarations.
4977bab6 4155
63e5e3e0
AG
4156 * configure.in: Add check for endianness and sizeof void*.
4157
4158 * src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
4159 instead of directly.
4160
4161 * configure: Rebuilt.
4162
4163Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
4164
4165 * configure.in: Add x86 and powerpc BeOS configurations.
4166 From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
4167
41681999-05-09 Anthony Green <green@cygnus.com>
4169
4170 * configure.in: Add warning about this being beta code.
4171 Remove src/Makefile.am from the picture.
4172 * configure: Rebuilt.
4173
4174 * Makefile.am: Move logic from src/Makefile.am. Add changes
4175 to support libffi as a target library.
4176 * Makefile.in: Rebuilt.
4177
4178 * aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
4179 Upgraded to new autoconf, automake, libtool.
4180
4181 * README: Tweaks.
4182
4183 * LICENSE: Update copyright date.
4184
4185 * src/Makefile.am, src/Makefile.in: Removed.
4186
41871998-11-29 Anthony Green <green@cygnus.com>
4188
4189 * include/ChangeLog: Removed.
4190 * src/ChangeLog: Removed.
4191 * src/mips/ChangeLog: Removed.
4192 * src/sparc/ChangeLog: Remboved.
4193 * src/x86/ChangeLog: Removed.
4194
4195 * ChangeLog.v1: Created.