1
2013-03-17 Anthony Green <green@moxielogic.com>
3
* README: Update for 3.0.13.
6
* doc/*: Update version.
8
2013-03-17 Dave Korn <dave.korn.cygwin@gmail.com>
10
* src/closures.c (is_emutramp_enabled
11
[!FFI_MMAP_EXEC_EMUTRAMP_PAX]): Move default definition outside
14
2013-03-17 Anthony Green <green@moxielogic.com>
16
* configure.ac: Only modify toolexecdir in certain cases.
19
2013-03-16 Gilles Talis <gilles.talis@gmail.com>
21
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Don't use
22
fparg_count,etc on __NO_FPRS__ targets.
24
2013-03-16 Alan Hourihane <alanh@fairlite.co.uk>
26
* src/m68k/sysv.S (epilogue): Don't use extb instruction on
29
2013-03-16 Alex Gaynor <alex.gaynor@gmail.com>
31
* src/x86/ffi.c (ffi_prep_cif_machdep): Always align stack.
33
2013-03-13 Markos Chandras <markos.chandras@imgtec.com>
35
* configure.ac: Add support for Imagination Technologies Meta.
36
* Makefile.am: Likewise.
37
* README: Add Imagination Technologies Meta details.
38
* src/metag/ffi.c: New.
39
* src/metag/ffitarget.h: Likewise.
40
* src/metag/sysv.S: Likewise.
42
2013-02-24 Andreas Schwab <schwab@linux-m68k.org>
44
* doc/libffi.texi (Structures): Fix missing category argument of
47
2013-02-11 Anthony Green <green@moxielogic.com>
49
* configure.ac: Update release number to 3.0.12.
51
* README: Update release info.
53
2013-02-10 Anthony Green <green@moxielogic.com>
56
* src/moxie/ffi.c: Created.
57
* src/moxie/eabi.S: Created.
58
* src/moxie/ffitarget.h: Created.
59
* Makefile.am (nodist_libffi_la_SOURCES): Add Moxie.
60
* Makefile.in: Rebuilt.
61
* configure.ac: Add Moxie.
63
* testsuite/libffi.call/huge_struct.c: Disable format string
64
warnings for moxie*-*-elf tests.
66
2013-02-10 Anthony Green <green@moxielogic.com>
68
* Makefile.am (LTLDFLAGS): Fix reference.
69
* Makefile.in: Rebuilt.
71
2013-02-10 Anthony Green <green@moxielogic.com>
73
* README: Update supported platforms. Update test results link.
75
2013-02-09 Anthony Green <green@moxielogic.com>
77
* testsuite/libffi.call/negint.c: Remove forced -O2.
78
* testsuite/libffi.call/many2.c (foo): Remove GCCism.
79
* testsuite/libffi.call/ffitest.h: Add default PRIuPTR definition.
81
* src/sparc/v8.S (ffi_closure_v8): Import ancient ulonglong
82
closure return type fix developed by Martin v. Lƶwis for cpython
85
2013-02-08 Andreas Tobler <andreast@fgznet.ch>
87
* src/powerpc/ffi.c (ffi_prep_cif_machdep): Fix small struct
89
* src/powerpc/sysv.S: Ditto.
91
2013-02-08 Anthony Green <green@moxielogic.com>
93
* testsuite/libffi.call/cls_longdouble.c: Remove xfail for
96
2013-02-08 Anthony Green <green@moxielogic.com>
98
* src/sparc/ffi.c (ffi_prep_closure_loc): Fix cache flushing for GCC.
100
2013-02-08 Matthias Klose <doko@ubuntu.com>
102
* man/ffi_prep_cif.3: Clean up for debian linter.
104
2013-02-08 Peter Bergner <bergner@vnet.ibm.com>
106
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Account for FP args pushed
109
2013-02-08 Anthony Green <green@moxielogic.com>
111
* Makefile.am (EXTRA_DIST): Add missing files.
112
* testsuite/Makefile.am (EXTRA_DIST): Ditto.
113
* Makefile.in: Rebuilt.
115
2013-02-08 Anthony Green <green@moxielogic.com>
117
* configure.ac: Move sparc asm config checks to within functions
118
for compatibility with sun tools.
119
* configure: Rebuilt.
120
* src/sparc/ffi.c (ffi_prep_closure_loc): Flush cache on v9
122
* src/sparc/v8.S (ffi_flush_icache): Implement a sparc v9 cache
125
2013-02-08 Nathan Rossi <nathan.rossi@xilinx.com>
127
* src/microblaze/ffi.c (ffi_closure_call_SYSV): Fix handling of
128
small big-endian structures.
129
(ffi_prep_args): Ditto.
131
2013-02-07 Anthony Green <green@moxielogic.com>
133
* src/sparc/v8.S (ffi_call_v8): Fix typo from last patch
134
(effectively hiding ffi_call_v8).
136
2013-02-07 Anthony Green <green@moxielogic.com>
138
* configure.ac: Update bug reporting address.
139
* configure.in: Rebuild.
141
* src/sparc/v8.S (ffi_flush_icache): Out-of-line cache flusher for
143
* src/sparc/ffi.c (ffi_call): Remove warning.
144
Call ffi_flush_icache for non-GCC builds.
145
(ffi_prep_closure_loc): Use ffi_flush_icache.
147
* Makefile.am (EXTRA_DIST): Add libtool-ldflags.
148
* Makefile.in: Rebuilt.
149
* libtool-ldflags: New file.
151
2013-02-07 Daniel Schepler <dschepler@gmail.com>
153
* configure.ac: Correctly identify x32 systems as 64-bit.
154
* m4/libtool.m4: Remove libtool expr error.
155
* aclocal.m4, configure: Rebuilt.
157
2013-02-07 Anthony Green <green@moxielogic.com>
159
* configure.ac: Fix GCC usage test.
160
* configure: Rebuilt.
161
* README: Mention LLVM/GCC x86_64 issue.
162
* testsuite/Makefile.in: Rebuilt.
164
2013-02-07 Anthony Green <green@moxielogic.com>
166
* testsuite/libffi.call/cls_double_va.c (main): Replace // style
167
comments with /* */ for xlc compiler.
168
* testsuite/libffi.call/stret_large.c (main): Ditto.
169
* testsuite/libffi.call/stret_large2.c (main): Ditto.
170
* testsuite/libffi.call/nested_struct1.c (main): Ditto.
171
* testsuite/libffi.call/huge_struct.c (main): Ditto.
172
* testsuite/libffi.call/float_va.c (main): Ditto.
173
* testsuite/libffi.call/cls_struct_va1.c (main): Ditto.
174
* testsuite/libffi.call/cls_pointer_stack.c (main): Ditto.
175
* testsuite/libffi.call/cls_pointer.c (main): Ditto.
176
* testsuite/libffi.call/cls_longdouble_va.c (main): Ditto.
178
2013-02-06 Anthony Green <green@moxielogic.com>
180
* man/ffi_prep_cif.3: Clean up for debian lintian checker.
182
2013-02-06 Anthony Green <green@moxielogic.com>
184
* Makefile.am (pkgconfigdir): Add missing pkgconfig install bits.
185
* Makefile.in: Rebuild.
187
2013-02-02 Mark H Weaver <mhw@netris.org>
189
* src/x86/ffi64.c (ffi_call): Sign-extend integer arguments passed
190
via general purpose registers.
192
2013-01-21 Nathan Rossi <nathan.rossi@xilinx.com>
194
* README: Add MicroBlaze details.
195
* Makefile.am: Add MicroBlaze support.
196
* configure.ac: Likewise.
197
* src/microblaze/ffi.c: New.
198
* src/microblaze/ffitarget.h: Likewise.
199
* src/microblaze/sysv.S: Likewise.
201
2013-01-21 Nathan Rossi <nathan.rossi@xilinx.com>
202
* testsuite/libffi.call/return_uc.c: Fixed issue.
204
2013-01-21 Chris Zankel <chris@zankel.net>
206
* README: Add Xtensa support.
207
* Makefile.am: Likewise.
208
* configure.ac: Likewise.
209
* Makefile.in Regenerate.
210
* configure: Likewise.
211
* src/prep_cif.c: Handle Xtensa.
212
* src/xtensa: New directory.
213
* src/xtensa/ffi.c: New file.
214
* src/xtensa/ffitarget.h: Ditto.
215
* src/xtensa/sysv.S: Ditto.
217
2013-01-11 Anthony Green <green@moxielogic.com>
219
* src/powerpc/ffi_darwin.c (ffi_prep_args): Replace // style
220
comments with /* */ for xlc compiler.
221
* src/powerpc/aix.S (ffi_call_AIX): Ditto.
222
* testsuite/libffi.call/ffitest.h (allocate_mmap): Delete
223
deprecated inline function.
224
* testsuite/libffi.special/ffitestcxx.h: Ditto.
225
* README: Add update for AIX support.
227
2013-01-11 Anthony Green <green@moxielogic.com>
229
* configure.ac: Robustify pc relative reloc check.
230
* m4/ax_cc_maxopt.m4: Don't -malign-double. This is an ABI
231
changing option for 32-bit x86.
232
* aclocal.m4, configure: Rebuilt.
233
* README: Update supported target list.
235
2013-01-10 Anthony Green <green@moxielogic.com>
237
* README (tested): Add Compiler column to table.
239
2013-01-10 Anthony Green <green@moxielogic.com>
241
* src/x86/ffi64.c (struct register_args): Make sse array and array
242
of unions for sunpro compiler compatibility.
244
2013-01-10 Anthony Green <green@moxielogic.com>
246
* configure.ac: Test target platform size_t size. Handle both 32
247
and 64-bit builds for x86_64-* and i?86-* targets (allowing for
248
CFLAG option to change default settings).
249
* configure, aclocal.m4: Rebuilt.
251
2013-01-10 Anthony Green <green@moxielogic.com>
253
* testsuite/libffi.special/special.exp: Only run exception
254
handling tests when using GNU compiler.
256
* m4/ax_compiler_vendor.m4: New file.
257
* configure.ac: Test for compiler vendor and don't use
258
AX_CFLAGS_WARN_ALL with the sun compiler.
259
* aclocal.m4, configure: Rebuilt.
261
2013-01-10 Anthony Green <green@moxielogic.com>
263
* include/ffi_common.h: Don't use GCCisms to define types when
264
building with the SUNPRO compiler.
266
2013-01-10 Anthony Green <green@moxielogic.com>
268
* configure.ac: Put local.exp in the right place.
269
* configure: Rebuilt.
271
* src/x86/ffi.c: Update comment about regparm function attributes.
272
* src/x86/sysv.S (ffi_closure_SYSV): The SUNPRO compiler requires
273
that all function arguments be passed on the stack (no regparm
276
2013-01-08 Anthony Green <green@moxielogic.com>
278
* configure.ac: Generate local.exp. This sets CC_FOR_TARGET
279
when we are using the vendor compiler.
280
* testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): Point to
282
* configure, testsuite/Makefile.in: Rebuilt.
284
* testsuite/libffi.call/call.exp: Run tests with different
285
options, depending on whether or not we are using gcc or the
287
* testsuite/lib/libffi.exp (libffi-init): Set using_gcc based on
288
whether or not we are building/testing with gcc.
290
2013-01-08 Anthony Green <green@moxielogic.com>
292
* configure.ac: Switch x86 solaris target to X86 by default.
293
* configure: Rebuilt.
295
2013-01-08 Anthony Green <green@moxielogic.com>
297
* configure.ac: Fix test for read-only eh_frame.
298
* configure: Rebuilt.
300
2013-01-08 Anthony Green <green@moxielogic.com>
302
* src/x86/sysv.S, src/x86/unix64.S: Only emit DWARF unwind info
303
when building with the GNU toolchain.
304
* testsuite/libffi.call/ffitest.h (CHECK): Fix for Solaris vendor
307
2013-01-07 Thorsten Glaser <tg@mirbsd.org>
309
* testsuite/libffi.call/cls_uchar_va.c,
310
testsuite/libffi.call/cls_ushort_va.c,
311
testsuite/libffi.call/va_1.c: Testsuite fixes.
313
2013-01-07 Thorsten Glaser <tg@mirbsd.org>
315
* src/m68k/ffi.c (CIF_FLAGS_SINT8, CIF_FLAGS_SINT16): Define.
316
(ffi_prep_cif_machdep): Fix 8-bit and 16-bit signed calls.
317
* src/m68k/sysv.S (ffi_call_SYSV, ffi_closure_SYSV): Ditto.
319
2013-01-04 Anthony Green <green@moxielogic.com>
321
* Makefile.am (AM_CFLAGS): Don't automatically add -fexceptions
322
and -Wall. This is set in the configure script after testing for
324
* Makefile.in: Rebuilt.
326
2013-01-02 rofl0r <https://github.com/rofl0r>
328
* src/powerpc/ffi.c (ffi_prep_cif_machdep): Fix build error on ppc
329
when long double == double.
331
2013-01-02 Reini Urban <rurban@x-ray.at>
333
* Makefile.am (libffi_la_LDFLAGS): Add -no-undefined to LDFLAGS
334
(required for shared libs on cygwin/mingw).
335
* Makefile.in: Rebuilt.
337
2012-10-31 Alan Modra <amodra@gmail.com>
339
* src/powerpc/linux64_closure.S: Add new ABI support.
340
* src/powerpc/linux64.S: Likewise.
342
2012-10-30 Magnus Granberg <zorry@gentoo.org>
343
Pavel Labushev <pavel.labushev@runbox.ru>
345
* configure.ac: New options pax_emutramp
346
* configure, fficonfig.h.in: Regenerated
347
* src/closures.c: New function emutramp_enabled_check() and
350
2012-10-30 Frederick Cheung <frederick.cheung@gmail.com>
352
* configure.ac: Enable FFI_MAP_EXEC_WRIT for Darwin 12 (mountain
353
lion) and future version.
354
* configure: Rebuild.
356
2012-10-30 James Greenhalgh <james.greenhalgh at arm.com>
357
Marcus Shawcroft <marcus.shawcroft at arm.com>
359
* README: Add details of aarch64 port.
360
* src/aarch64/ffi.c: New.
361
* src/aarch64/ffitarget.h: Likewise.
362
* src/aarch64/sysv.S: Likewise.
363
* Makefile.am: Support aarch64.
364
* configure.ac: Support aarch64.
365
* Makefile.in, configure: Rebuilt.
367
2012-10-30 James Greenhalgh <james.greenhalgh at arm.com>
368
Marcus Shawcroft <marcus.shawcroft at arm.com>
370
* testsuite/lib/libffi.exp: Add support for aarch64.
371
* testsuite/libffi.call/cls_struct_va1.c: New.
372
* testsuite/libffi.call/cls_uchar_va.c: Likewise.
373
* testsuite/libffi.call/cls_uint_va.c: Likewise.
374
* testsuite/libffi.call/cls_ulong_va.c: Likewise.
375
* testsuite/libffi.call/cls_ushort_va.c: Likewise.
376
* testsuite/libffi.call/nested_struct11.c: Likewise.
377
* testsuite/libffi.call/uninitialized.c: Likewise.
378
* testsuite/libffi.call/va_1.c: Likewise.
379
* testsuite/libffi.call/va_struct1.c: Likewise.
380
* testsuite/libffi.call/va_struct2.c: Likewise.
381
* testsuite/libffi.call/va_struct3.c: Likewise.
383
2012-10-12 Walter Lee <walt@tilera.com>
385
* Makefile.am: Add TILE-Gx/TILEPro support.
386
* configure.ac: Likewise.
387
* Makefile.in: Regenerate.
388
* configure: Likewise.
389
* src/prep_cif.c (ffi_prep_cif_core): Handle TILE-Gx/TILEPro.
390
* src/tile: New directory.
391
* src/tile/ffi.c: New file.
392
* src/tile/ffitarget.h: Ditto.
393
* src/tile/tile.S: Ditto.
395
2012-10-12 Matthias Klose <doko@ubuntu.com>
397
* generate-osx-source-and-headers.py: Normalize whitespace.
399
2012-09-14 David Edelsohn <dje.gcc@gmail.com>
401
* configure: Regenerated.
403
2012-08-26 Andrew Pinski <apinski@cavium.com>
406
* src/mips/ffi.c (ffi_prep_closure_loc): Allow n32 with soft-float and n64 with
409
2012-08-08 Uros Bizjak <ubizjak@gmail.com>
411
* src/s390/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
412
just return FFI_BAD_ABI when things are wrong.
414
2012-07-18 H.J. Lu <hongjiu.lu@intel.com>
418
* src/x86/ffitarget.h: Check __ILP32__ instead of __LP64__ for x32.
419
(FFI_SIZEOF_JAVA_RAW): Defined to 4 for x32.
421
2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
423
* configure: Regenerated.
425
2012-05-05 Nicolas Lelong
427
* libffi.xcodeproj/project.pbxproj: Fixes.
428
* README: Update for iOS builds.
430
2012-04-23 Alexandre Keunecke I. de Mendonca <alexandre.keunecke@gmail.com>
432
* configure.ac: Add Blackfin/sysv support
433
* Makefile.am: Add Blackfin/sysv support
434
* src/bfin/ffi.c: Add Blackfin/sysv support
435
* src/bfin/ffitarget.h: Add Blackfin/sysv support
437
2012-04-11 Anthony Green <green@moxielogic.com>
439
* Makefile.am (EXTRA_DIST): Add new script.
440
* Makefile.in: Rebuilt.
442
2012-04-11 Zachary Waldowski <zwaldowski@gmail.com>
444
* generate-ios-source-and-headers.py,
445
libffi.xcodeproj/project.pbxproj: Support a Mac static library via
446
Xcode. Set iOS compatibility to 4.0. Move iOS trampoline
447
generation into an Xcode "run script" phase. Include both as
448
Xcode build scripts. Don't always regenerate config files.
450
2012-04-10 Anthony Green <green@moxielogic.com>
452
* src/powerpc/ffi_darwin.c (ffi_prep_args): Add missing semicolon.
454
2012-04-06 Anthony Green <green@moxielogic.com>
456
* Makefile.am (EXTRA_DIST): Add new iOS/xcode files.
457
* Makefile.in: Rebuilt.
459
2012-04-06 Mike Lewis <mikelikespie@gmail.com>
461
* generate-ios-source-and-headers.py: New file.
462
* libffi.xcodeproj/project.pbxproj: New file.
463
* README: Update instructions on building iOS binary.
464
* build-ios.sh: Delete.
466
2012-04-06 Anthony Green <green@moxielogic.com>
468
* src/x86/ffi64.c (UINT128): Define differently for Intel and GNU
469
compilers, then use it.
471
2012-04-06 H.J. Lu <hongjiu.lu@intel.com>
473
* m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32.
475
2012-04-06 Anthony Green <green@moxielogic.com>
477
* testsuite/Makefile.am (EXTRA_DIST): Add missing test cases.
478
* testsuite/Makefile.in: Rebuilt.
480
2012-04-05 Zachary Waldowski <zwaldowski@gmail.com>
482
* include/ffi.h.in: Add missing trampoline table fields.
483
* src/arm/sysv.S: Fix ENTRY definition, and wrap symbol references
485
* src/x86/ffi.c: Wrap Windows specific code in ifdefs.
487
2012-04-02 Peter Bergner <bergner@vnet.ibm.com>
489
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Declare double_tmp.
490
Silence casting pointer to integer of different size warning.
491
Delete goto to previously deleted label.
492
(ffi_call): Silence possibly undefined warning.
493
(ffi_closure_helper_SYSV): Declare variable type.
495
2012-04-02 Peter Rosin <peda@lysator.liu.se>
497
* src/x86/win32.S (ffi_call_win32): Sign/zero extend the return
498
value in the Intel version as is already done for the AT&T version.
499
(ffi_closure_SYSV): Likewise.
500
(ffi_closure_raw_SYSV): Likewise.
501
(ffi_closure_STDCALL): Likewise.
503
2012-03-29 Peter Rosin <peda@lysator.liu.se>
505
* src/x86/win32.S (ffi_closure_raw_THISCALL): Unify the frame
506
generation, fix the ENDP label and remove the surplus third arg
509
2012-03-29 Peter Rosin <peda@lysator.liu.se>
511
* src/x86/win32.S (ffi_closure_raw_SYSV): Make the 'stubraw' label
512
visible outside the PROC, so that ffi_closure_raw_THISCALL can see
513
it. Also instruct the assembler to add a frame to the function.
515
2012-03-23 Peter Rosin <peda@lysator.liu.se>
517
* Makefile.am (AM_CPPFLAGS): Add -DFFI_BUILDING.
518
* Makefile.in: Rebuilt.
519
* include/ffi.h.in [MSVC]: Add __declspec(dllimport) decorations
520
to all data exports, when compiling libffi clients using MSVC.
522
2012-03-29 Peter Rosin <peda@lysator.liu.se>
524
* src/x86/ffitarget.h (ffi_abi): Add new ABI FFI_MS_CDECL and
525
make it the default for MSVC.
526
(FFI_TYPE_MS_STRUCT): New structure return convention.
527
* src/x86/ffi.c (ffi_prep_cif_machdep): Tweak the structure
528
return convention for FFI_MS_CDECL to be FFI_TYPE_MS_STRUCT
529
instead of an ordinary FFI_TYPE_STRUCT.
530
(ffi_prep_args): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
531
(ffi_call): Likewise.
532
(ffi_prep_incoming_args_SYSV): Likewise.
533
(ffi_raw_call): Likewise.
534
(ffi_prep_closure_loc): Treat FFI_MS_CDECL as FFI_SYSV.
535
* src/x86/win32.S (ffi_closure_SYSV): For FFI_TYPE_MS_STRUCT,
536
return a pointer to the result structure in eax and don't pop
537
that pointer from the stack, the caller takes care of it.
538
(ffi_call_win32): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
539
(ffi_closure_raw_SYSV): Likewise.
541
2012-03-22 Peter Rosin <peda@lysator.liu.se>
543
* testsuite/libffi.call/closure_stdcall.c [MSVC]: Add inline
544
assembly version with Intel syntax.
545
* testsuite/libffi.call/closure_thiscall.c [MSVC]: Likewise.
547
2012-03-23 Peter Rosin <peda@lysator.liu.se>
549
* testsuite/libffi.call/ffitest.h: Provide abstration of
550
__attribute__((fastcall)) in the form of a __FASTCALL__
551
define. Define it to __fastcall for MSVC.
552
* testsuite/libffi.call/fastthis1_win32.c: Use the above.
553
* testsuite/libffi.call/fastthis2_win32.c: Likewise.
554
* testsuite/libffi.call/fastthis3_win32.c: Likewise.
555
* testsuite/libffi.call/strlen2_win32.c: Likewise.
556
* testsuite/libffi.call/struct1_win32.c: Likewise.
557
* testsuite/libffi.call/struct2_win32.c: Likewise.
559
2012-03-22 Peter Rosin <peda@lysator.liu.se>
561
* src/x86/win32.S [MSVC] (ffi_closure_THISCALL): Remove the manual
562
frame on function entry, MASM adds one automatically.
564
2012-03-22 Peter Rosin <peda@lysator.liu.se>
566
* testsuite/libffi.call/ffitest.h [MSVC]: Add kludge for missing
567
bits in the MSVC headers.
569
2012-03-22 Peter Rosin <peda@lysator.liu.se>
571
* testsuite/libffi.call/cls_12byte.c: Adjust to the C89 style
572
with no declarations after statements.
573
* testsuite/libffi.call/cls_16byte.c: Likewise.
574
* testsuite/libffi.call/cls_18byte.c: Likewise.
575
* testsuite/libffi.call/cls_19byte.c: Likewise.
576
* testsuite/libffi.call/cls_1_1byte.c: Likewise.
577
* testsuite/libffi.call/cls_20byte.c: Likewise.
578
* testsuite/libffi.call/cls_20byte1.c: Likewise.
579
* testsuite/libffi.call/cls_24byte.c: Likewise.
580
* testsuite/libffi.call/cls_2byte.c: Likewise.
581
* testsuite/libffi.call/cls_3_1byte.c: Likewise.
582
* testsuite/libffi.call/cls_3byte1.c: Likewise.
583
* testsuite/libffi.call/cls_3byte2.c: Likewise.
584
* testsuite/libffi.call/cls_4_1byte.c: Likewise.
585
* testsuite/libffi.call/cls_4byte.c: Likewise.
586
* testsuite/libffi.call/cls_5_1_byte.c: Likewise.
587
* testsuite/libffi.call/cls_5byte.c: Likewise.
588
* testsuite/libffi.call/cls_64byte.c: Likewise.
589
* testsuite/libffi.call/cls_6_1_byte.c: Likewise.
590
* testsuite/libffi.call/cls_6byte.c: Likewise.
591
* testsuite/libffi.call/cls_7_1_byte.c: Likewise.
592
* testsuite/libffi.call/cls_7byte.c: Likewise.
593
* testsuite/libffi.call/cls_8byte.c: Likewise.
594
* testsuite/libffi.call/cls_9byte1.c: Likewise.
595
* testsuite/libffi.call/cls_9byte2.c: Likewise.
596
* testsuite/libffi.call/cls_align_double.c: Likewise.
597
* testsuite/libffi.call/cls_align_float.c: Likewise.
598
* testsuite/libffi.call/cls_align_longdouble.c: Likewise.
599
* testsuite/libffi.call/cls_align_longdouble_split.c: Likewise.
600
* testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
601
* testsuite/libffi.call/cls_align_pointer.c: Likewise.
602
* testsuite/libffi.call/cls_align_sint16.c: Likewise.
603
* testsuite/libffi.call/cls_align_sint32.c: Likewise.
604
* testsuite/libffi.call/cls_align_sint64.c: Likewise.
605
* testsuite/libffi.call/cls_align_uint16.c: Likewise.
606
* testsuite/libffi.call/cls_align_uint32.c: Likewise.
607
* testsuite/libffi.call/cls_align_uint64.c: Likewise.
608
* testsuite/libffi.call/cls_dbls_struct.c: Likewise.
609
* testsuite/libffi.call/cls_pointer_stack.c: Likewise.
610
* testsuite/libffi.call/err_bad_typedef.c: Likewise.
611
* testsuite/libffi.call/huge_struct.c: Likewise.
612
* testsuite/libffi.call/nested_struct.c: Likewise.
613
* testsuite/libffi.call/nested_struct1.c: Likewise.
614
* testsuite/libffi.call/nested_struct10.c: Likewise.
615
* testsuite/libffi.call/nested_struct2.c: Likewise.
616
* testsuite/libffi.call/nested_struct3.c: Likewise.
617
* testsuite/libffi.call/nested_struct4.c: Likewise.
618
* testsuite/libffi.call/nested_struct5.c: Likewise.
619
* testsuite/libffi.call/nested_struct6.c: Likewise.
620
* testsuite/libffi.call/nested_struct7.c: Likewise.
621
* testsuite/libffi.call/nested_struct8.c: Likewise.
622
* testsuite/libffi.call/nested_struct9.c: Likewise.
623
* testsuite/libffi.call/stret_large.c: Likewise.
624
* testsuite/libffi.call/stret_large2.c: Likewise.
625
* testsuite/libffi.call/stret_medium.c: Likewise.
626
* testsuite/libffi.call/stret_medium2.c: Likewise.
627
* testsuite/libffi.call/struct1.c: Likewise.
628
* testsuite/libffi.call/struct1_win32.c: Likewise.
629
* testsuite/libffi.call/struct2.c: Likewise.
630
* testsuite/libffi.call/struct2_win32.c: Likewise.
631
* testsuite/libffi.call/struct3.c: Likewise.
632
* testsuite/libffi.call/struct4.c: Likewise.
633
* testsuite/libffi.call/struct5.c: Likewise.
634
* testsuite/libffi.call/struct6.c: Likewise.
635
* testsuite/libffi.call/struct7.c: Likewise.
636
* testsuite/libffi.call/struct8.c: Likewise.
637
* testsuite/libffi.call/struct9.c: Likewise.
638
* testsuite/libffi.call/testclosure.c: Likewise.
640
2012-03-21 Peter Rosin <peda@lysator.liu.se>
642
* testsuite/libffi.call/float_va.c (float_va_fn): Use %f when
643
printing doubles (%lf is for long doubles).
646
2012-03-21 Peter Rosin <peda@lysator.liu.se>
648
* testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
649
(set_ld_library_path_env_vars): Add the library search dir to PATH
650
(and save PATH for later).
651
(restore_ld_library_path_env_vars): Restore PATH.
653
2012-03-21 Peter Rosin <peda@lysator.liu.se>
655
* testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
656
(set_ld_library_path_env_vars): Add the library search dir to PATH
657
(and save PATH for later).
658
(restore_ld_library_path_env_vars): Restore PATH.
660
2012-03-20 Peter Rosin <peda@lysator.liu.se>
662
* testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
663
* src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
664
visible outside the PROC, so that ffi_closure_THISCALL can see it.
666
2012-03-20 Peter Rosin <peda@lysator.liu.se>
668
* testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
669
* src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
670
visible outside the PROC, so that ffi_closure_THISCALL can see it.
672
2012-03-19 Alan Hourihane <alanh@fairlite.co.uk>
674
* src/m68k/ffi.c: Add MINT support.
675
* src/m68k/sysv.S: Ditto.
677
2012-03-06 Chung-Lin Tang <cltang@codesourcery.com>
679
* src/arm/ffi.c (ffi_call): Add __ARM_EABI__ guard around call to
681
(ffi_prep_closure_loc): Add __ARM_EABI__ guard around use of
683
* src/arm/sysv.S: Add __ARM_EABI__ guard around VFP code.
685
2012-03-19 chennam <csit@axway.com>
687
* src/powerpc/ffi_darwin.c (ffi_prep_closure_loc): Fix AIX closure
690
2012-03-13 Kaz Kojima <kkojima@gcc.gnu.org>
692
* src/sh/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
693
just return FFI_BAD_ABI when things are wrong.
694
* src/sh64/ffi.c (ffi_prep_closure_loc): Ditto.
696
2012-03-09 David Edelsohn <dje.gcc@gmail.com>
698
* src/powerpc/aix_closure.S (ffi_closure_ASM): Adjust for Darwin64
699
change to return value of ffi_closure_helper_DARWIN and load type
702
2012-03-03 H.J. Lu <hongjiu.lu@intel.com>
704
* src/x86/ffi64.c (ffi_call): Cast the return value to unsigned
706
(ffi_prep_closure_loc): Cast to 64bit address in trampoline.
707
(ffi_closure_unix64_inner): Cast return pointer to unsigned long
710
* src/x86/ffitarget.h (FFI_SIZEOF_ARG): Defined to 8 for x32.
711
(ffi_arg): Set to unsigned long long for x32.
712
(ffi_sarg): Set to long long for x32.
714
2012-03-03 H.J. Lu <hongjiu.lu@intel.com>
716
* src/prep_cif.c (ffi_prep_cif_core): Properly check bad ABI.
718
2012-03-03 Andoni Morales Alastruey <ylatuya@gmail.com>
720
* configure.ac: Add -no-undefined for both 32- and 64-bit x86
722
* configure: Rebuilt.
724
2012-02-27 Mikael Pettersson <mikpe@it.uu.se>
727
* Makefile.am (FLAGS_TO_PASS): Define.
728
* Makefile.in: Regenerate.
730
2012-02-23 Anthony Green <green@moxielogic.com>
732
* src/*/ffitarget.h: Ensure that users never include ffitarget.h
735
2012-02-23 Kai Tietz <ktietz@redhat.com>
738
* src/x86/ffi.c (ffi_closure_raw_THISCALL): New
740
(ffi_prep_raw_closure_loc): Use ffi_closure_raw_THISCALL for
742
(ffi_raw_call): Use ffi_prep_args_raw.
743
* src/x86/win32.S (ffi_closure_raw_THISCALL): Add
744
implementation for stub.
746
2012-02-10 Kai Tietz <ktietz@redhat.com>
748
* configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
750
* configure: Regenerated.
752
2012-02-08 Kai Tietz <ktietz@redhat.com>
754
* src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
756
* src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
757
(FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
758
(ffi_prep_closure_loc): Add FFI_THISCALL support.
759
* src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
760
* src/x86/win32.S (ffi_closure_THISCALL): New closure code
761
for thiscall-calling convention.
762
* testsuite/libffi.call/closure_thiscall.c: New test.
764
2012-01-28 Kai Tietz <ktietz@redhat.com>
766
* src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
767
argument to prototype for specify calling-convention.
768
(ffi_call): Add support for stdcall/thiscall convention.
769
(ffi_prep_args): Likewise.
770
(ffi_raw_call): Likewise.
771
* src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
773
* src/x86/win32.S (_ffi_call_win32): Add support for
774
fastcall/thiscall calling-convention calls.
775
* testsuite/libffi.call/fastthis1_win32.c: New test.
776
* testsuite/libffi.call/fastthis2_win32.c: New test.
777
* testsuite/libffi.call/fastthis3_win32.c: New test.
778
* testsuite/libffi.call/strlen2_win32.c: New test.
779
* testsuite/libffi.call/many2_win32.c: New test.
780
* testsuite/libffi.call/struct1_win32.c: New test.
781
* testsuite/libffi.call/struct2_win32.c: New test.
783
2012-01-23 Uros Bizjak <ubizjak@gmail.com>
785
* src/alpha/ffi.c (ffi_prep_closure_loc): Check for bad ABI.
787
2012-01-23 Anthony Green <green@moxielogic.com>
788
Chris Young <cdyoung@ntlworld.com>
790
* configure.ac: Add Amiga support.
791
* configure: Rebuilt.
793
2012-01-23 Dmitry Nadezhin <dmitry.nadezhin@gmail.com>
795
* include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions.
797
2012-01-23 Andreas Schwab <schwab@linux-m68k.org>
799
* src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
800
mc68000. Test for __HAVE_68881__ in addition to __MC68881__.
802
2012-01-19 Jakub Jelinek <jakub@redhat.com>
804
PR rtl-optimization/48496
805
* src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
807
2012-01-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
809
* configure.ac (i?86-*-*): Set TARGET to X86_64.
810
* configure: Regenerate.
812
2011-12-07 Andrew Pinski <apinski@cavium.com>
815
* src/mips/n32.S: Add ".set mips4".
817
2011-11-21 Andreas Tobler <andreast@fgznet.ch>
819
* configure: Regenerate.
821
2011-11-12 David Gilbert <david.gilbert@linaro.org>
823
* doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
824
man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3,
825
man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h,
826
src/cris/ffi.c, src/prep_cif.c,
827
testsuite/libffi.call/cls_double_va.c,
828
testsuite/libffi.call/cls_longdouble_va.c,
829
testsuite/libffi.call/float_va.c: Many changes to support variadic
832
2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
834
* src/powerpc/ffi.c, src/powerpc/ffitarget.h,
835
src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
836
softfloat powerpc variants.
838
2011-11-12 Petr Salinger <Petr.Salinger@seznam.cz>
840
* configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
841
* configure: Rebuilt.
843
2011-11-12 Timothy Wall <twall@users.sf.net>
845
* src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
846
alignment of 4 for wince on ARM.
848
2011-11-12 Kyle Moffett <Kyle.D.Moffett@boeing.com>
849
Anthony Green <green@moxielogic.com>
851
* src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
852
instructions (not available on some cores, like the PPC440).
854
2011-11-12 Kimura Wataru <kimuraw@i.nifty.jp>
856
* m4/ax_enable_builddir: Change from string comparison to numeric
857
comparison for wc output.
858
* configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
860
* configure: Rebuilt.
862
2011-11-12 Anthony Green <green@moxielogic.com>
864
* Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
865
files with debug info.
866
* Makefile.in: Rebuilt.
868
2011-11-12 Jasper Lievisse Adriaanse <jasper@openbsd.org>
870
* README: Update list of supported OpenBSD systems.
872
2011-11-12 Anthony Green <green@moxielogic.com>
874
* libtool-version: Update.
875
* Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
877
(libffi_la_SOURCES): Remove src/debug.c
878
(EXTRA_DIST): Add src/debug.c
879
* Makefile.in: Rebuilt.
880
* README: Update for 3.0.11.
882
2011-11-10 Richard Henderson <rth@redhat.com>
884
* configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
885
* configure, aclocal.m4: Rebuild.
887
2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
890
* src/powerpc/darwin_closure.S (stubs): Make the stub binding
891
helper reference track the architecture pointer size.
893
2011-08-25 Andrew Haley <aph@redhat.com>
895
* src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
897
* src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
899
2011-07-11 Andrew Haley <aph@redhat.com>
901
* src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
903
2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
905
* testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
906
* testsuite/libffi.call/cls_longdouble_va.c: Likewise.
908
2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
911
* testsuite/libffi.call/cls_double_va.c: xfail dg-output on
913
* testsuite/libffi.call/cls_longdouble_va.c: Likewise.
915
2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
917
* testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
918
PRId8 instead of %hhu, %hhd.
919
* testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
921
[__sgi__] (PRId8, PRIu8): Define.
923
2011-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
925
* src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
927
Use them to handle ELF vs. ECOFF differences.
928
[__osf__] (_GLOBAL__F_ffi_call_osf): Define.
930
2011-03-30 Timothy Wall <twall@users.sf.net>
932
* src/powerpc/darwin.S: Fix unknown FDE encoding.
933
* src/powerpc/darwin_closure.S: ditto.
935
2011-02-25 Anthony Green <green@moxielogic.com>
937
* src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
940
2011-02-15 Anthony Green <green@moxielogic.com>
942
* m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
943
* configure: Rebuilt.
945
2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
947
* configure: Regenerate.
949
2011-02-13 Anthony Green <green@moxielogic.com>
951
* include/ffi_common.h (UNLIKELY, LIKELY): Define.
952
* src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
953
* src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
955
* src/prep_cif.c (initialize_aggregate): Convert assertion into
956
FFI_BAD_TYPEDEF return. Initialize arg size and alignment to 0.
958
* src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
959
just return FFI_BAD_ABI when things are wrong.
960
* src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
961
* src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
962
* src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
963
* src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
964
* src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
966
2011-02-11 Anthony Green <green@moxielogic.com>
968
* src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
969
just return FFI_BAD_ABI when things are wrong.
971
2012-02-11 Eric Botcazou <ebotcazou@adacore.com>
973
* src/sparc/v9.S (STACKFRAME): Bump to 176.
975
2011-02-09 Stuart Shelton <srcshelton@gmail.com>
977
http://bugs.gentoo.org/show_bug.cgi?id=286911
978
* src/mips/ffitarget.h: Clean up error messages.
979
* src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
981
* include/ffi.h.in: Add pragma for SGI compiler.
983
2011-02-09 Anthony Green <green@moxielogic.com>
985
* configure.ac: Add powerpc64-*-darwin* support.
987
2011-02-09 Anthony Green <green@moxielogic.com>
989
* README: Mention Interix.
991
2011-02-09 Jonathan Callen <abcd@gentoo.org>
993
* configure.ac: Add Interix to win32/cygwin/mingw case.
995
* src/closures.c: Treat Interix like Cygwin, instead of as a
998
2011-02-09 Anthony Green <green@moxielogic.com>
1000
* testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
1001
* testsuite/libffi.call/err_bad_abi.c: Remove xfail.
1002
* src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
1003
(ffi_prep_closure_loc): Check for bad ABI.
1004
* src/prep_cif.c (UNLIKELY, LIKELY): Define.
1005
(initialize_aggregate): Check for bad types.
1007
2011-02-09 Landon Fuller <landonf@plausible.coop>
1009
* Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
1010
src/arm/trampoline.S.
1011
(nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
1012
* configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
1013
* src/arm/ffi.c (ffi_trampoline_table)
1014
(ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
1015
(FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
1016
(FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
1017
(ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
1018
Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
1019
(ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
1021
* src/arm/sysv.S: Handle Apple iOS host.
1022
* src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
1023
* build-ios.sh: New file.
1024
* fficonfig.h.in, configure, Makefile.in: Rebuilt.
1025
* README: Mention ARM iOS.
1027
2011-02-08 Oren Held <orenhe@il.ibm.com>
1029
* src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
1030
redefinition of mallinfo on HP-UX.
1032
2011-02-08 Ginn Chen <ginn.chen@oracle.com>
1034
* src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
1035
aggregate return ABI. Flush cache.
1036
(ffi_prep_closure_loc): Flush cache.
1038
2011-02-11 Anthony Green <green@moxielogic.com>
1040
From Tom Honermann <tom.honermann@oracle.com>:
1041
* src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
1042
AIX. Declare .ffi_prep_args. Insert nops after branch
1043
instructions so that the AIX linker can insert TOC reload
1045
* src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
1047
2011-02-08 Ed <ed@kdtc.net>
1049
* src/powerpc/asm.h: Fix grammar nit in comment.
1051
2011-02-08 Uli Link <ul.mcamafia@linkitup.de>
1053
* include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
1055
2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1058
* testsuite/libffi.call/cls_pointer.c (main): Cast void * to
1060
* testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
1062
2011-02-08 Rafael Avila de Espindola <respindola@mozilla.com>
1064
* configure.ac: Fix x86 test for pc related relocs.
1065
* configure: Rebuilt.
1067
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
1069
* libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
1070
Handle case when CPU variant does not have long double support.
1071
* libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
1072
and cores with soft floating point.
1074
2011-02-07 Joel Sherrill <joel.sherrill@oarcorp.com>
1076
* configure.ac: Add mips*-*-rtems* support.
1077
* configure: Regenerate.
1078
* src/mips/ffitarget.h: Ensure needed constants are available
1079
for targets which do not have sgidefs.h.
1081
2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
1084
* configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
1085
* configure: Regenerate.
1087
2010-12-18 Iain Sandoe <iains@gcc.gnu.org>
1091
* src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
1093
* src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
1094
(FFI_TRAMPOLINE_SIZE): Update for Darwin64.
1095
* src/powerpc/darwin.S: Provide Darwin64 implementation,
1097
* src/powerpc/ffi_darwin.c: Likewise.
1099
2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1101
* configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
1103
(libffi_cv_as_string_pseudo_op): Likewise.
1104
* configure: Regenerate.
1106
2010-12-03 Chung-Lin Tang <cltang@codesourcery.com>
1108
* src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
1109
(ffi_closure_VFP): Same.
1110
(ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
1113
2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1115
* testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
1118
2010-11-29 Richard Henderson <rth@redhat.com>
1119
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1121
* src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
1122
(.eh_frame): Use FDE_ENCODING.
1123
(.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
1125
2010-11-22 Jacek Caban <jacek@codeweavers.com>
1127
* configure.ac: Check for symbol underscores on mingw-w64.
1128
* configure: Rebuilt.
1129
* src/x86/win64.S: Correctly access extern symbols in respect to
1132
2010-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1134
* testsuite/lib/libffi-dg.exp: Rename ...
1135
* testsuite/lib/libffi.exp: ... to this.
1136
* libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
1137
* libffi/testsuite/libffi.special/special.exp: Likewise.
1139
2010-10-28 Chung-Lin Tang <cltang@codesourcery.com>
1141
* src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
1142
code, new parameter, and return value. Update comments.
1143
(ffi_prep_cif_machdep): Add case for VFP struct return values. Add
1144
call to layout_vfp_args().
1145
(ffi_call_SYSV): Update declaration.
1146
(ffi_call_VFP): New declaration.
1147
(ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
1148
when ABI is FFI_VFP.
1149
(ffi_closure_VFP): New declaration.
1150
(ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
1151
ffi_prep_incoming_args_SYSV().
1152
(ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
1154
(ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
1155
construction under VFP hard-float.
1156
(rec_vfp_type_p): New function.
1158
(place_vfp_arg): Same.
1159
(layout_vfp_args): Same.
1160
* src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
1161
based on __ARM_PCS_VFP.
1162
(FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
1164
(FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
1165
(FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
1166
* src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
1167
direct call. Move function pointer load upwards.
1168
(ffi_call_VFP): New function.
1169
(ffi_closure_VFP): Same.
1171
* testsuite/lib/libffi-dg.exp (check-flags): New function.
1172
(dg-skip-if): New function.
1173
* testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
1174
and compiler options include -mfloat-abi=hard.
1175
* testsuite/libffi.call/cls_longdouble_va.c: Same.
1177
2010-10-01 Jakub Jelinek <jakub@redhat.com>
1180
* src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
1182
* testsuite/libffi.call/many2.c: New test.
1184
2010-08-20 Mark Wielaard <mjw@redhat.com>
1186
* src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
1189
2010-08-09 Andreas Tobler <andreast@fgznet.ch>
1191
* configure.ac: Add target powerpc64-*-freebsd*.
1192
* configure: Regenerate.
1193
* testsuite/libffi.call/cls_align_longdouble_split.c: Pass
1194
-mlong-double-128 only to linux targets.
1195
* testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
1196
* testsuite/libffi.call/cls_longdouble.c: Likewise.
1197
* testsuite/libffi.call/huge_struct.c: Likewise.
1199
2010-08-05 Dan Witte <dwitte@mozilla.com>
1201
* Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
1202
debug CRT when --enable-debug is given.
1203
* configure.ac: Define it.
1204
* msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
1206
2010-08-04 Dan Witte <dwitte@mozilla.com>
1208
* src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
1210
* src/x86/ffi.c: Remove redundant ifdef checks.
1211
* src/prep_cif.c: Push stack space computation into src/x86/ffi.c
1212
for X86_ANY so return value space doesn't get added twice.
1214
2010-08-03 Neil Rashbrooke <neil@parkwaycc.co.uk>
1216
* msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
1218
2010-07-22 Dan Witte <dwitte@mozilla.com>
1220
* src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
1221
* src/prep_cif.c: Fix ABI assertion.
1222
* src/cris/ffi.c: Ditto.
1224
2010-07-10 Evan Phoenix <evan@fallingsnow.net>
1226
* src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
1228
2010-07-07 Dan HorƔk <dan@danny.cz>
1230
* include/ffi.h.in: Protect #define with #ifndef.
1231
* src/powerpc/ffitarget.h: Ditto.
1232
* src/s390/ffitarget.h: Ditto.
1233
* src/sparc/ffitarget.h: Ditto.
1235
2010-07-07 Neil Roberts <neil@linux.intel.com>
1237
* src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
1240
2010-07-02 Jakub Jelinek <jakub@redhat.com>
1242
* Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
1243
* Makefile.in: Regenerated.
1245
2010-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1247
* configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
1249
(libffi_cv_as_ascii_pseudo_op): Check for .ascii.
1250
(libffi_cv_as_string_pseudo_op): Check for .string.
1251
* configure: Regenerate.
1252
* fficonfig.h.in: Regenerate.
1253
* src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
1255
2010-05-11 Dan Witte <dwitte@mozilla.com>
1257
* doc/libffi.tex: Document previous change.
1259
2010-05-11 Makoto Kato <m_kato@ga2.so-net.ne.jp>
1261
* src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
1263
2010-05-05 Michael Kohler <michaelkohler@live.com>
1265
* src/dlmalloc.c (dlfree): Fix spelling.
1266
* src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
1267
* configure.ac: Ditto.
1268
* configure: Rebuilt.
1270
2010-04-13 Dan Witte <dwitte@mozilla.com>
1272
* msvcc.sh: Build with -W3 instead of -Wall.
1273
* src/powerpc/ffi_darwin.c: Remove build warnings.
1274
* src/x86/ffi.c: Ditto.
1275
* src/x86/ffitarget.h: Ditto.
1277
2010-04-12 Dan Witte <dwitte@mozilla.com>
1278
Walter Meinl <wuno@lsvw.de>
1280
* configure.ac: Add OS/2 support.
1281
* configure: Rebuilt.
1282
* src/closures.c: Ditto.
1283
* src/dlmalloc.c: Ditto.
1284
* src/x86/win32.S: Ditto.
1286
2010-04-07 Jakub Jelinek <jakub@redhat.com>
1288
* testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
1290
2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1292
* Makefile.in: Regenerate.
1293
* aclocal.m4: Regenerate.
1294
* include/Makefile.in: Regenerate.
1295
* man/Makefile.in: Regenerate.
1296
* testsuite/Makefile.in: Regenerate.
1298
2010-03-30 Dan Witte <dwitte@mozilla.com>
1300
* msvcc.sh: Disable build warnings.
1301
* README (tested): Clarify windows build procedure.
1303
2010-03-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1305
* configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
1306
* configure: Regenerate.
1307
* fficonfig.h.in: Regenerate.
1308
* libffi/src/x86/unix64.S (.eh_frame)
1309
[HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
1311
2010-03-14 Matthias Klose <doko@ubuntu.com>
1313
* src/x86/ffi64.c: Fix typo in comment.
1314
* src/x86/ffi.c: Use /* ... */ comment style.
1316
2010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1318
* doc/libffi.texi (The Closure API): Fix typo.
1319
* doc/libffi.info: Remove.
1321
2010-02-15 Matthias Klose <doko@ubuntu.com>
1323
* src/arm/sysv.S (__ARM_ARCH__): Define for processor
1326
2010-01-15 Anthony Green <green@redhat.com>
1328
* README: Add notes on building with Microsoft Visual C++.
1330
2010-01-15 Daniel Witte <dwitte@mozilla.com>
1332
* msvcc.sh: New file.
1334
* src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
1335
* src/x86/ffi.c: Tweak function declaration and remove excess
1337
* include/ffi.h.in: Add __declspec(align(8)) to typedef struct
1340
* src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
1341
function ffi_call_win32 on X86_WIN32.
1342
* src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
1343
(ffi_call_STDCALL): Remove.
1345
* src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
1346
to ffi_prep_cif_machdep for x86.
1347
* src/x86/ffi.c (ffi_prep_cif_machdep): To here.
1349
2010-01-15 Oliver Kiddle <okiddle@yahoo.co.uk>
1351
* src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
1352
Sun Studio compiler compatibility.
1354
2010-01-12 Conrad Irwin <conrad.irwin@gmail.com>
1356
* doc/libffi.texi: Add closure example.
1358
2010-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1361
* testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
1362
PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
1363
* testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
1365
* testsuite/libffi.call/cls_align_uint64.c: Likewise.
1366
* testsuite/libffi.call/cls_ulonglong.c: Likewise.
1367
* testsuite/libffi.call/return_ll1.c: Likewise.
1368
* testsuite/libffi.call/stret_medium2.c: Likewise.
1369
* testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
1370
MAP_FAILED to char *.
1372
2010-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1374
* src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
1376
2009-12-31 Anthony Green <green@redhat.com>
1378
* README: Update for libffi 3.0.9.
1380
2009-12-27 Matthias Klose <doko@ubuntu.com>
1382
* configure.ac (HAVE_LONG_DOUBLE): Define for mips when
1384
* configure: Rebuilt.
1386
2009-12-26 Anthony Green <green@redhat.com>
1388
* testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
1390
* testsuite/libffi.call/cls_double_va.c: Ditto.
1392
2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
1394
* testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
1396
* testsuite/libffi.special/unwindtest.cc: Ditto.
1398
2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
1400
* configure.ac: Add amd64-*-openbsd*.
1401
* configure: Rebuilt.
1402
* testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
1403
openbsd programs with -lpthread.
1405
2009-12-26 Anthony Green <green@redhat.com>
1407
* testsuite/libffi.call/cls_double_va.c,
1408
testsuite/libffi.call/cls_longdouble.c,
1409
testsuite/libffi.call/cls_longdouble_va.c,
1410
testsuite/libffi.call/cls_pointer.c,
1411
testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
1412
mips*-*-* and arm*-*-*.
1413
* testsuite/libffi.call/cls_align_longdouble_split.c,
1414
testsuite/libffi.call/cls_align_longdouble_split2.c,
1415
testsuite/libffi.call/stret_medium2.c,
1416
testsuite/libffi.call/stret_medium.c,
1417
testsuite/libffi.call/stret_large.c,
1418
testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
1420
2009-12-31 Kay Tietz <ktietz70@googlemail.com>
1422
* testsuite/libffi.call/ffitest.h,
1423
testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
1426
2009-12-31 Carlo Bramini <carlo.bramix@libero.it>
1428
* configure.ac (AM_LTLDFLAGS): Define for windows hosts.
1429
* Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
1430
* configure: Rebuilt.
1431
* Makefile.in: Rebuilt.
1433
2009-12-31 Anthony Green <green@redhat.com>
1436
* testsuite/libffi.call/huge_struct.c: New test case from Blake
1439
2009-12-28 David Edelsohn <edelsohn@gnu.org>
1441
* src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
1443
(aix_adjust_aggregate_sizes): New function.
1444
(ffi_prep_cif_machdep): Call it.
1446
2009-12-26 Andreas Tobler <a.tobler@schweiz.org>
1448
* configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
1449
* configure: Regenerate.
1450
* fficonfig.h.in: Likewise.
1451
* src/closures.c: Remove the FFI_MMAP_EXEC_WRIT definition for
1454
2009-12-26 Andreas Schwab <schwab@linux-m68k.org>
1456
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Advance intarg_count
1457
when a float arguments is passed in memory.
1458
(ffi_closure_helper_SYSV): Mark general registers as used up when
1459
a 64bit or soft-float long double argument is passed in memory.
1461
2009-12-25 Matthias Klose <doko@ubuntu.com>
1463
* man/ffi_call.3: Fix #include in examples.
1464
* doc/libffi.texi: Add dircategory.
1466
2009-12-25 Frank Everdij <f.p.x.everdij@tudelft.nl>
1468
* include/ffi.h.in: Placed '__GNUC__' ifdef around
1469
'__attribute__((aligned(8)))' in ffi_closure, fixes compile for
1471
* include/ffi_common.h: Added '__sgi' define to non
1472
'__attribute__((__mode__()))' integer typedefs.
1473
* src/mips/ffi.c (ffi_call, ffi_closure_mips_inner_O32,
1474
ffi_closure_mips_inner_N32): Added 'defined(_MIPSEB)' to BE check.
1475
(ffi_closure_mips_inner_O32, ffi_closure_mips_inner_N32): Added
1476
FFI_LONGDOUBLE support and alignment(N32 only).
1477
* src/mips/ffitarget.h: Corrected '#include <sgidefs.h>' for IRIX and
1478
fixed non '__attribute__((__mode__()))' integer typedefs.
1479
* src/mips/n32.S: Put '#ifdef linux' around '.abicalls' and '.eh_frame'
1480
since they are Linux/GNU Assembler specific.
1482
2009-12-25 Bradley Smith <brad@brad-smith.co.uk>
1484
* configure.ac, Makefile.am, src/avr32/ffi.c,
1485
src/avr32/ffitarget.h,
1486
src/avr32/sysv.S: Add AVR32 port.
1487
* configure, Makefile.in: Rebuilt.
1489
2009-12-21 Andreas Tobler <a.tobler@schweiz.org>
1491
* configure.ac: Make i?86 build on FreeBSD and OpenBSD.
1492
* configure: Regenerate.
1494
2009-12-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1496
* testsuite/libffi.call/ffitest.h: Define PRIuPTR on PA HP-UX.
1498
2009-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1500
* src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
1503
2012-02-13 Kai Tietz <ktietz@redhat.com>
1506
* src/x86/ffi.c (ffi_prep_raw_closure_loc): Add thiscall
1507
support for X86_WIN32.
1508
(FFI_INIT_TRAMPOLINE_THISCALL): Fix displacement.
1510
2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
1512
* src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
1515
2009-12-11 Eric Botcazou <ebotcazou@adacore.com>
1517
* testsuite/libffi.call/ffitest.h: Define PRIuPTR on Solaris < 10.
1519
2009-12-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1522
* src/closures.c [X86_64 && __sun__ && __svr4__]
1523
(FFI_MMAP_EXEC_WRIT): Define.
1525
2009-12-08 David Daney <ddaney@caviumnetworks.com>
1527
* testsuite/libffi.call/stret_medium.c: Remove xfail for mips*-*-*
1528
* testsuite/libffi.call/cls_align_longdouble_split2.c: Same.
1529
* testsuite/libffi.call/stret_large.c: Same.
1530
* testsuite/libffi.call/cls_align_longdouble_split.c: Same.
1531
* testsuite/libffi.call/stret_large2.c: Same.
1532
* testsuite/libffi.call/stret_medium2.c: Same.
1534
2009-12-07 David Edelsohn <edelsohn@gnu.org>
1536
* src/powerpc/aix_closure.S (libffi_closure_ASM): Fix tablejump
1539
2009-12-05 David Edelsohn <edelsohn@gnu.org>
1541
* src/powerpc/aix.S: Update AIX32 code to be consistent with AIX64
1543
* src/powerpc/aix_closure.S: Same.
1545
2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1547
* Makefile.in: Regenerate.
1548
* configure: Regenerate.
1549
* include/Makefile.in: Regenerate.
1550
* man/Makefile.in: Regenerate.
1551
* testsuite/Makefile.in: Regenerate.
1553
2009-12-04 David Edelsohn <edelsohn@gnu.org>
1555
* src/powerpc/aix_closure.S: Reorganize 64-bit code to match
1558
2009-12-04 Uros Bizjak <ubizjak@gmail.com>
1561
* src/x86/ffi64.c (classify_argument): Update from
1562
gcc/config/i386/i386.c.
1563
(ffi_closure_unix64_inner): Do not use the address of two consecutive
1564
SSE registers directly.
1565
* testsuite/libffi.call/cls_dbls_struct.c (main): Remove xfail
1566
for x86_64 linux targets.
1568
2009-12-04 David Edelsohn <edelsohn@gnu.org>
1570
* src/powerpc/ffi_darwin.c (ffi_closure_helper_DARWIN): Increment
1571
pfr for long double split between fpr13 and stack.
1573
2009-12-03 David Edelsohn <edelsohn@gnu.org>
1575
* src/powerpc/ffi_darwin.c (ffi_prep_args): Increment next_arg and
1576
fparg_count twice for long double.
1578
2009-12-03 David Edelsohn <edelsohn@gnu.org>
1581
* src/powerpc/ffi_darwin.c (ffi_prep_args): Remove extra parentheses.
1583
2009-12-03 Uros Bizjak <ubizjak@gmail.com>
1585
* testsuite/libffi.call/cls_longdouble_va.c (main): Fix format string.
1586
Remove xfails for x86 linux targets.
1588
2009-12-02 David Edelsohn <edelsohn@gnu.org>
1590
* src/powerpc/ffi_darwin.c (ffi_prep_args): Fix typo in INT64
1593
2009-12-01 David Edelsohn <edelsohn@gnu.org>
1595
* src/powerpc/aix.S (ffi_call_AIX): Convert to more standard
1596
register usage. Call ffi_prep_args directly. Add long double
1597
return value support.
1598
* src/powerpc/ffi_darwin.c (ffi_prep_args): Double arg increment
1599
applies to FFI_TYPE_DOUBLE. Correct fpr_base increment typo.
1600
Separate FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases.
1601
(ffi_prep_cif_machdep): Only 16 byte stack alignment in 64 bit
1603
(ffi_closure_helper_DARWIN): Remove nf and ng counters. Move temp
1605
* src/powerpc/aix_closure.S: Maintain 16 byte stack alignment.
1606
Allocate result area between params and FPRs.
1608
2009-11-30 David Edelsohn <edelsohn@gnu.org>
1611
* src/powerpc/ffitarget.h (POWERPC64): Define for PPC64 Linux and
1613
* src/powerpc/aix.S: Implement AIX64 version.
1614
* src/powerpc/aix_closure.S: Implement AIX64 version.
1615
(ffi_closure_ASM): Use extsb, lha and displament addresses.
1616
* src/powerpc/ffi_darwin.c (ffi_prep_args): Implement AIX64
1618
(ffi_prep_cif_machdep): Same.
1620
(ffi_closure_helper_DARWIN): Same.
1622
2009-11-02 Andreas Tobler <a.tobler@schweiz.org>
1625
* testsuite/libffi.call/testclosure.c: New test.
1627
2009-09-28 Kai Tietz <kai.tietz@onevision.com>
1629
* src/x86/win64.S (_ffi_call_win64 stack): Remove for gnu
1630
assembly version use of ___chkstk.
1632
2009-09-23 Matthias Klose <doko@ubuntu.com>
1634
PR libffi/40242, PR libffi/41443
1635
* src/arm/sysv.S (__ARM_ARCH__): Define for processors
1636
__ARM_ARCH_6T2__, __ARM_ARCH_6M__, __ARM_ARCH_7__,
1637
__ARM_ARCH_7A__, __ARM_ARCH_7R__, __ARM_ARCH_7M__.
1638
Change the conditionals to __SOFTFP__ || __ARM_EABI__
1639
for -mfloat-abi=softfp to work.
1641
2009-09-17 Loren J. Rittle <ljrittle@acm.org>
1643
PR testsuite/32843 (strikes again)
1644
* src/x86/ffi.c (ffi_prep_cif_machdep): Add X86_FREEBSD to
1645
enable proper extension on char and short.
1647
2009-09-15 David Daney <ddaney@caviumnetworks.com>
1649
* src/java_raw_api.c (ffi_java_raw_to_rvalue): Remove special
1650
handling for FFI_TYPE_POINTER.
1651
* src/mips/ffitarget.h (FFI_TYPE_STRUCT_D_SOFT,
1652
FFI_TYPE_STRUCT_F_SOFT, FFI_TYPE_STRUCT_DD_SOFT,
1653
FFI_TYPE_STRUCT_FF_SOFT, FFI_TYPE_STRUCT_FD_SOFT,
1654
FFI_TYPE_STRUCT_DF_SOFT, FFI_TYPE_STRUCT_SOFT): New defines.
1655
(FFI_N32_SOFT_FLOAT, FFI_N64_SOFT_FLOAT): New ffi_abi enumerations.
1656
(enum ffi_abi): Set FFI_DEFAULT_ABI for soft-float.
1657
* src/mips/n32.S (ffi_call_N32): Add handling for soft-float
1658
structure and pointer returns.
1659
(ffi_closure_N32): Add handling for pointer returns.
1660
* src/mips/ffi.c (ffi_prep_args, calc_n32_struct_flags,
1661
calc_n32_return_struct_flags): Handle soft-float.
1662
(ffi_prep_cif_machdep): Handle soft-float, fix pointer handling.
1663
(ffi_call_N32): Declare proper argument types.
1664
(ffi_call, copy_struct_N32, ffi_closure_mips_inner_N32): Handle
1667
2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1669
* configure.ac (AC_PREREQ): Bump to 2.64.
1671
2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1673
* Makefile.am (install-html, install-pdf): Remove.
1674
* Makefile.in: Regenerate.
1676
* Makefile.in: Regenerate.
1677
* aclocal.m4: Regenerate.
1678
* configure: Regenerate.
1679
* fficonfig.h.in: Regenerate.
1680
* include/Makefile.in: Regenerate.
1681
* man/Makefile.in: Regenerate.
1682
* testsuite/Makefile.in: Regenerate.
1684
2011-08-22 Jasper Lievisse Adriaanse <jasper@openbsd.org>
1686
* configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
1687
* configure: Rebuilt.
1689
2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1691
* configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
1693
2009-07-24 Dave Korn <dave.korn.cygwin@gmail.com>
1696
* src/x86/ffi.c (ffi_prep_cif_machdep): Also use sign/zero-extending
1697
return types for X86_WIN32.
1698
* src/x86/win32.S (_ffi_call_SYSV): Handle omitted return types.
1699
(_ffi_call_STDCALL, _ffi_closure_SYSV, _ffi_closure_raw_SYSV,
1700
_ffi_closure_STDCALL): Likewise.
1702
* src/closures.c (is_selinux_enabled): Define to const 0 for Cygwin.
1703
(dlmmap, dlmunmap): Also use these functions on Cygwin.
1705
2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
1710
* testsuite/lib/libffi-dg.exp: Revert 2009-07-02, 2009-07-01 and
1713
2009-07-01 Richard Sandiford <r.sandiford@uk.ibm.com>
1715
* testsuite/lib/libffi-dg.exp (libffi-init): Set ld_library_path
1716
to "" before adding paths. (This reinstates an assignment that
1717
was removed by my 2009-06-30 commit, but changes the initial
1718
value from "." to "".)
1720
2009-07-01 H.J. Lu <hongjiu.lu@intel.com>
1723
* testsuite/lib/libffi-dg.exp (libffi-init): Properly set
1724
gccdir. Adjust ld_library_path for gcc only if gccdir isn't
1727
2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
1729
* testsuite/lib/libffi-dg.exp (libffi-init): Don't add "."
1730
to ld_library_path. Use add_path. Add just find_libgcc_s
1731
to ld_library_path, not every libgcc multilib directory.
1733
2009-06-16 Wim Lewis <wiml@hhhh.org>
1735
* src/powerpc/ffi.c: Avoid clobbering cr3 and cr4, which are
1736
supposed to be callee-saved.
1737
* src/powerpc/sysv.S (small_struct_return_value): Fix overrun of
1738
return buffer for odd-size structs.
1740
2009-06-16 Andreas Tobler <a.tobler@schweiz.org>
1743
* testsuite/lib/libffi-dg.exp (libffi_target_compile): Add
1744
allow_stack_execute for Darwin.
1746
2009-06-16 Andrew Haley <aph@redhat.com>
1748
* configure.ac (TARGETDIR): Add missing blank lines.
1749
* configure: Regenerate.
1751
2009-06-16 Andrew Haley <aph@redhat.com>
1753
* testsuite/libffi.call/cls_align_sint64.c,
1754
testsuite/libffi.call/cls_align_uint64.c,
1755
testsuite/libffi.call/cls_longdouble_va.c,
1756
testsuite/libffi.call/cls_ulonglong.c,
1757
testsuite/libffi.call/return_ll1.c,
1758
testsuite/libffi.call/stret_medium2.c: Fix printf format
1760
* testsuite/libffi.call/ffitest.h,
1761
testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRIuLL): Define.
1763
2009-06-15 Andrew Haley <aph@redhat.com>
1765
* testsuite/libffi.call/err_bad_typedef.c: xfail everywhere.
1766
* testsuite/libffi.call/err_bad_abi.c: Likewise.
1768
2009-06-12 Andrew Haley <aph@redhat.com>
1770
* Makefile.am: Remove info_TEXINFOS.
1772
2009-06-12 Andrew Haley <aph@redhat.com>
1774
* ChangeLog.libffi: testsuite/libffi.call/cls_align_sint64.c,
1775
testsuite/libffi.call/cls_align_uint64.c,
1776
testsuite/libffi.call/cls_ulonglong.c,
1777
testsuite/libffi.call/return_ll1.c,
1778
testsuite/libffi.call/stret_medium2.c: Fix printf format
1780
testsuite/libffi.special/unwindtest.cc: include stdint.h.
1782
2009-06-11 Timothy Wall <twall@users.sf.net>
1787
include/ffi_common.h,
1791
src/x86/ffitarget.h,
1792
src/x86/win64.S (new),
1793
README: Added win64 support (mingw or MSVC)
1795
include/Makefile.in,
1797
testsuite/Makefile.in,
1799
aclocal.m4: Regenerated
1800
* ltcf-c.sh: properly escape cygwin/w32 path
1801
* man/ffi_call.3: Clarify size requirements for return value.
1802
* src/x86/ffi64.c: Fix filename in comment.
1803
* src/x86/win32.S: Remove unused extern.
1805
* testsuite/libffi.call/closure_fn0.c,
1806
testsuite/libffi.call/closure_fn1.c,
1807
testsuite/libffi.call/closure_fn2.c,
1808
testsuite/libffi.call/closure_fn3.c,
1809
testsuite/libffi.call/closure_fn4.c,
1810
testsuite/libffi.call/closure_fn5.c,
1811
testsuite/libffi.call/closure_fn6.c,
1812
testsuite/libffi.call/closure_stdcall.c,
1813
testsuite/libffi.call/cls_12byte.c,
1814
testsuite/libffi.call/cls_16byte.c,
1815
testsuite/libffi.call/cls_18byte.c,
1816
testsuite/libffi.call/cls_19byte.c,
1817
testsuite/libffi.call/cls_1_1byte.c,
1818
testsuite/libffi.call/cls_20byte.c,
1819
testsuite/libffi.call/cls_20byte1.c,
1820
testsuite/libffi.call/cls_24byte.c,
1821
testsuite/libffi.call/cls_2byte.c,
1822
testsuite/libffi.call/cls_3_1byte.c,
1823
testsuite/libffi.call/cls_3byte1.c,
1824
testsuite/libffi.call/cls_3byte2.c,
1825
testsuite/libffi.call/cls_4_1byte.c,
1826
testsuite/libffi.call/cls_4byte.c,
1827
testsuite/libffi.call/cls_5_1_byte.c,
1828
testsuite/libffi.call/cls_5byte.c,
1829
testsuite/libffi.call/cls_64byte.c,
1830
testsuite/libffi.call/cls_6_1_byte.c,
1831
testsuite/libffi.call/cls_6byte.c,
1832
testsuite/libffi.call/cls_7_1_byte.c,
1833
testsuite/libffi.call/cls_7byte.c,
1834
testsuite/libffi.call/cls_8byte.c,
1835
testsuite/libffi.call/cls_9byte1.c,
1836
testsuite/libffi.call/cls_9byte2.c,
1837
testsuite/libffi.call/cls_align_double.c,
1838
testsuite/libffi.call/cls_align_float.c,
1839
testsuite/libffi.call/cls_align_longdouble.c,
1840
testsuite/libffi.call/cls_align_longdouble_split.c,
1841
testsuite/libffi.call/cls_align_longdouble_split2.c,
1842
testsuite/libffi.call/cls_align_pointer.c,
1843
testsuite/libffi.call/cls_align_sint16.c,
1844
testsuite/libffi.call/cls_align_sint32.c,
1845
testsuite/libffi.call/cls_align_sint64.c,
1846
testsuite/libffi.call/cls_align_uint16.c,
1847
testsuite/libffi.call/cls_align_uint32.c,
1848
testsuite/libffi.call/cls_align_uint64.c,
1849
testsuite/libffi.call/cls_dbls_struct.c,
1850
testsuite/libffi.call/cls_double.c,
1851
testsuite/libffi.call/cls_double_va.c,
1852
testsuite/libffi.call/cls_float.c,
1853
testsuite/libffi.call/cls_longdouble.c,
1854
testsuite/libffi.call/cls_longdouble_va.c,
1855
testsuite/libffi.call/cls_multi_schar.c,
1856
testsuite/libffi.call/cls_multi_sshort.c,
1857
testsuite/libffi.call/cls_multi_sshortchar.c,
1858
testsuite/libffi.call/cls_multi_uchar.c,
1859
testsuite/libffi.call/cls_multi_ushort.c,
1860
testsuite/libffi.call/cls_multi_ushortchar.c,
1861
testsuite/libffi.call/cls_pointer.c,
1862
testsuite/libffi.call/cls_pointer_stack.c,
1863
testsuite/libffi.call/cls_schar.c,
1864
testsuite/libffi.call/cls_sint.c,
1865
testsuite/libffi.call/cls_sshort.c,
1866
testsuite/libffi.call/cls_uchar.c,
1867
testsuite/libffi.call/cls_uint.c,
1868
testsuite/libffi.call/cls_ulonglong.c,
1869
testsuite/libffi.call/cls_ushort.c,
1870
testsuite/libffi.call/err_bad_abi.c,
1871
testsuite/libffi.call/err_bad_typedef.c,
1872
testsuite/libffi.call/float2.c,
1873
testsuite/libffi.call/huge_struct.c,
1874
testsuite/libffi.call/nested_struct.c,
1875
testsuite/libffi.call/nested_struct1.c,
1876
testsuite/libffi.call/nested_struct10.c,
1877
testsuite/libffi.call/nested_struct2.c,
1878
testsuite/libffi.call/nested_struct3.c,
1879
testsuite/libffi.call/nested_struct4.c,
1880
testsuite/libffi.call/nested_struct5.c,
1881
testsuite/libffi.call/nested_struct6.c,
1882
testsuite/libffi.call/nested_struct7.c,
1883
testsuite/libffi.call/nested_struct8.c,
1884
testsuite/libffi.call/nested_struct9.c,
1885
testsuite/libffi.call/problem1.c,
1886
testsuite/libffi.call/return_ldl.c,
1887
testsuite/libffi.call/return_ll1.c,
1888
testsuite/libffi.call/stret_large.c,
1889
testsuite/libffi.call/stret_large2.c,
1890
testsuite/libffi.call/stret_medium.c,
1891
testsuite/libffi.call/stret_medium2.c,
1892
testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
1893
of checking for MMAP. Use intptr_t instead of long casts.
1895
2009-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
1897
* testsuite/libffi.call/cls_longdouble_va.c: Add xfail sh*-*-linux-*.
1898
* testsuite/libffi.call/err_bad_abi.c: Add xfail sh*-*-*.
1899
* testsuite/libffi.call/err_bad_typedef.c: Likewise.
1901
2009-06-09 Andrew Haley <aph@redhat.com>
1903
* src/x86/freebsd.S: Add missing file.
1905
2009-06-08 Andrew Haley <aph@redhat.com>
1907
Import from libffi 3.0.8:
1909
* doc/libffi.texi: New file.
1910
* doc/libffi.info: Likewise.
1911
* doc/stamp-vti: Likewise.
1912
* man/Makefile.am: New file.
1913
* man/ffi_call.3: New file.
1915
* Makefile.am (EXTRA_DIST): Add src/x86/darwin64.S,
1917
(nodist_libffi_la_SOURCES): Add X86_FREEBSD.
1919
* configure.ac: Bump version to 3.0.8.
1920
parisc*-*-linux*: Add.
1921
i386-*-freebsd* | i386-*-openbsd*: Add.
1922
powerpc-*-beos*: Add.
1923
AM_CONDITIONAL X86_FREEBSD: Add.
1924
AC_CONFIG_FILES: Add man/Makefile.
1926
* include/ffi.h.in (FFI_FN): Change void (*)() to void (*)(void).
1928
2009-06-08 Andrew Haley <aph@redhat.com>
1930
* README: Import from libffi 3.0.8.
1932
2009-06-08 Andrew Haley <aph@redhat.com>
1934
* testsuite/libffi.call/err_bad_abi.c: Add xfails.
1935
* testsuite/libffi.call/cls_longdouble_va.c: Add xfails.
1936
* testsuite/libffi.call/cls_dbls_struct.c: Add xfail x86_64-*-linux-*.
1937
* testsuite/libffi.call/err_bad_typedef.c: Add xfails.
1939
* testsuite/libffi.call/stret_medium2.c: Add __UNUSED__ to args.
1940
* testsuite/libffi.call/stret_medium.c: Likewise.
1941
* testsuite/libffi.call/stret_large2.c: Likewise.
1942
* testsuite/libffi.call/stret_large.c: Likewise.
1944
2008-12-26 Timothy Wall <twall@users.sf.net>
1946
* testsuite/libffi.call/cls_longdouble.c,
1947
testsuite/libffi.call/cls_longdouble_va.c,
1948
testsuite/libffi.call/cls_align_longdouble.c,
1949
testsuite/libffi.call/cls_align_longdouble_split.c,
1950
testsuite/libffi.call/cls_align_longdouble_split2.c: mark expected
1951
failures on x86_64 cygwin/mingw.
1953
2008-12-22 Timothy Wall <twall@users.sf.net>
1955
* testsuite/libffi.call/closure_fn0.c,
1956
testsuite/libffi.call/closure_fn1.c,
1957
testsuite/libffi.call/closure_fn2.c,
1958
testsuite/libffi.call/closure_fn3.c,
1959
testsuite/libffi.call/closure_fn4.c,
1960
testsuite/libffi.call/closure_fn5.c,
1961
testsuite/libffi.call/closure_fn6.c,
1962
testsuite/libffi.call/closure_loc_fn0.c,
1963
testsuite/libffi.call/closure_stdcall.c,
1964
testsuite/libffi.call/cls_align_pointer.c,
1965
testsuite/libffi.call/cls_pointer.c,
1966
testsuite/libffi.call/cls_pointer_stack.c: use portable cast from
1967
pointer to integer (intptr_t).
1968
* testsuite/libffi.call/cls_longdouble.c: disable for win64.
1970
2008-07-24 Anthony Green <green@redhat.com>
1972
* testsuite/libffi.call/cls_dbls_struct.c,
1973
testsuite/libffi.call/cls_double_va.c,
1974
testsuite/libffi.call/cls_longdouble.c,
1975
testsuite/libffi.call/cls_longdouble_va.c,
1976
testsuite/libffi.call/cls_pointer.c,
1977
testsuite/libffi.call/cls_pointer_stack.c,
1978
testsuite/libffi.call/err_bad_abi.c: Clean up failures from
1981
2008-03-04 Anthony Green <green@redhat.com>
1985
* testsuite/libffi.call/cls_align_longdouble_split2.c
1986
testsuite/libffi.call/cls_align_longdouble_split.c
1987
testsuite/libffi.call/cls_dbls_struct.c
1988
testsuite/libffi.call/cls_double_va.c
1989
testsuite/libffi.call/cls_longdouble.c
1990
testsuite/libffi.call/cls_longdouble_va.c
1991
testsuite/libffi.call/cls_pointer.c
1992
testsuite/libffi.call/cls_pointer_stack.c
1993
testsuite/libffi.call/err_bad_abi.c
1994
testsuite/libffi.call/err_bad_typedef.c
1995
testsuite/libffi.call/stret_large2.c
1996
testsuite/libffi.call/stret_large.c
1997
testsuite/libffi.call/stret_medium2.c
1998
testsuite/libffi.call/stret_medium.c: New tests from Apple.
2000
2009-06-05 Andrew Haley <aph@redhat.com>
2002
* src/x86/ffitarget.h, src/x86/ffi.c: Merge stdcall changes from
2005
2009-06-04 Andrew Haley <aph@redhat.com>
2007
* src/x86/ffitarget.h, src/x86/win32.S, src/x86/ffi.c: Back out
2010
2008-02-26 Anthony Green <green@redhat.com>
2011
Thomas Heller <theller@ctypes.org>
2013
* src/x86/ffi.c (ffi_closure_SYSV_inner): Change C++ comment to C
2016
2008-02-03 Timothy Wall <twall@users.sf.net>
2018
* src/x86/ffi.c (FFI_INIT_TRAMPOLINE_STDCALL): Calculate jump return
2019
offset based on code pointer, not data pointer.
2021
2008-01-31 Timothy Wall <twall@users.sf.net>
2023
* testsuite/libffi.call/closure_stdcall.c: Add test for stdcall
2025
* src/x86/ffitarget.h: Increase size of trampoline for stdcall
2027
* src/x86/win32.S: Add assembly for stdcall closure.
2028
* src/x86/ffi.c: Initialize stdcall closure trampoline.
2030
2009-06-04 Andrew Haley <aph@redhat.com>
2032
* include/ffi.h.in: Change void (*)() to void (*)(void).
2033
* src/x86/ffi.c: Likewise.
2035
2009-06-04 Andrew Haley <aph@redhat.com>
2037
* src/powerpc/ppc_closure.S: Insert licence header.
2038
* src/powerpc/linux64_closure.S: Likewise.
2039
* src/m68k/sysv.S: Likewise.
2041
* src/sh64/ffi.c: Change void (*)() to void (*)(void).
2042
* src/powerpc/ffi.c: Likewise.
2043
* src/powerpc/ffi_darwin.c: Likewise.
2044
* src/m32r/ffi.c: Likewise.
2045
* src/sh64/ffi.c: Likewise.
2046
* src/x86/ffi64.c: Likewise.
2047
* src/alpha/ffi.c: Likewise.
2048
* src/alpha/osf.S: Likewise.
2049
* src/frv/ffi.c: Likewise.
2050
* src/s390/ffi.c: Likewise.
2051
* src/pa/ffi.c: Likewise.
2052
* src/pa/hpux32.S: Likewise.
2053
* src/ia64/unix.S: Likewise.
2054
* src/ia64/ffi.c: Likewise.
2055
* src/sparc/ffi.c: Likewise.
2056
* src/mips/ffi.c: Likewise.
2057
* src/sh/ffi.c: Likewise.
2059
2008-02-15 David Daney <ddaney@avtrex.com>
2061
* src/mips/ffi.c (USE__BUILTIN___CLEAR_CACHE):
2062
Define (conditionally), and use it to include cachectl.h.
2063
(ffi_prep_closure_loc): Fix cache flushing.
2064
* src/mips/ffitarget.h (_ABIN32, _ABI64, _ABIO32): Define.
2066
2009-06-04 Andrew Haley <aph@redhat.com>
2069
src/arm/ffitarget.h,
2072
src/powerpc/ffitarget.h,
2074
src/sh64/ffitarget.h,
2079
src/x86/ffitarget.h,
2085
src/alpha/ffitarget.h,
2088
src/m68k/ffitarget.h,
2089
src/frv/ffitarget.h,
2091
src/s390/ffitarget.h,
2093
src/cris/ffitarget.h,
2098
src/ia64/ffitarget.h,
2101
src/ia64/ia64_flags.h,
2105
src/sparc/ffitarget.h,
2108
src/mips/ffitarget.h,
2115
src/sh/sysv.S: Update license text.
2117
2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
2119
* src/x86/win32.S (_ffi_closure_STDCALL): New function.
2120
(.eh_frame): Add FDE for it.
2122
2009-05-22 Dave Korn <dave.korn.cygwin@gmail.com>
2124
* configure.ac: Also check if assembler supports pc-relative
2125
relocs on X86_WIN32 targets.
2126
* configure: Regenerate.
2127
* src/x86/win32.S (ffi_prep_args): Declare extern, not global.
2128
(_ffi_call_SYSV): Add missing function type symbol .def and
2129
add EH markup labels.
2130
(_ffi_call_STDCALL): Likewise.
2131
(_ffi_closure_SYSV): Likewise.
2132
(_ffi_closure_raw_SYSV): Likewise.
2133
(.eh_frame): Add hand-crafted EH data.
2135
2009-04-09 Jakub Jelinek <jakub@redhat.com>
2137
* testsuite/lib/libffi-dg.exp: Change copyright header to refer to
2138
version 3 of the GNU General Public License and to point readers
2139
at the COPYING3 file and the FSF's license web page.
2140
* testsuite/libffi.call/call.exp: Likewise.
2141
* testsuite/libffi.special/special.exp: Likewise.
2143
2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2145
* configure: Regenerate.
2147
2008-12-18 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2150
* configure.ac (HAVE_AS_X86_PCREL): New test.
2151
* configure: Regenerate.
2152
* fficonfig.h.in: Regenerate.
2153
* src/x86/sysv.S [!FFI_NO_RAW_API]: Precalculate
2154
RAW_CLOSURE_CIF_OFFSET, RAW_CLOSURE_FUN_OFFSET,
2155
RAW_CLOSURE_USER_DATA_OFFSET for the Solaris 10/x86 assembler.
2156
(.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
2157
* src/x86/unix64.S (.Lstore_table): Move to .text section.
2158
(.Lload_table): Likewise.
2159
(.eh_frame): Only use SYMBOL-. iff HAVE_AS_X86_PCREL.
2161
2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2163
* configure: Regenerate.
2165
2008-11-21 Eric Botcazou <ebotcazou@adacore.com>
2167
* src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
2168
signed/unsigned int8/16 return values.
2169
* src/sparc/v8.S (ffi_call_v8): Likewise.
2170
(ffi_closure_v8): Likewise.
2172
2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
2173
Steve Ellcey <sje@cup.hp.com>
2175
* configure: Regenerate for new libtool.
2176
* Makefile.in: Ditto.
2177
* include/Makefile.in: Ditto.
2178
* aclocal.m4: Ditto.
2180
2008-08-25 Andreas Tobler <a.tobler@schweiz.org>
2182
* src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
2183
FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
2184
Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
2185
Adjust copyright notice.
2186
* src/powerpc/ffi.c: Add two new flags to indicate if we have one
2187
register or two register to use for FFI_SYSV structs.
2188
(ffi_prep_cif_machdep): Pass the right register flag introduced above.
2189
(ffi_closure_helper_SYSV): Fix the return type for
2190
FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
2191
Adjust copyright notice.
2193
2008-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
2195
* src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
2198
2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2200
* configure: Regenerate.
2201
* include/Makefile.in: Regenerate.
2202
* testsuite/Makefile.in: Regenerate.
2204
2008-06-07 Joseph Myers <joseph@codesourcery.com>
2206
* configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
2207
powerpc-*-beos*): Remove.
2208
* configure: Regenerate.
2210
2008-05-09 Julian Brown <julian@codesourcery.com>
2212
* Makefile.am (LTLDFLAGS): New.
2213
(libffi_la_LDFLAGS): Use above.
2214
* Makefile.in: Regenerate.
2216
2008-04-18 Paolo Bonzini <bonzini@gnu.org>
2219
* aclocal.m4: Regenerate.
2220
* configure: Regenerate.
2222
2008-03-26 Kaz Kojima <kkojima@gcc.gnu.org>
2224
* src/sh/sysv.S: Add .note.GNU-stack on Linux.
2225
* src/sh64/sysv.S: Likewise.
2227
2008-03-26 Daniel Jacobowitz <dan@debian.org>
2229
* src/arm/sysv.S: Fix ARM comment marker.
2231
2008-03-26 Jakub Jelinek <jakub@redhat.com>
2233
* src/alpha/osf.S: Add .note.GNU-stack on Linux.
2234
* src/s390/sysv.S: Likewise.
2235
* src/powerpc/ppc_closure.S: Likewise.
2236
* src/powerpc/sysv.S: Likewise.
2237
* src/x86/unix64.S: Likewise.
2238
* src/x86/sysv.S: Likewise.
2239
* src/sparc/v8.S: Likewise.
2240
* src/sparc/v9.S: Likewise.
2241
* src/m68k/sysv.S: Likewise.
2242
* src/arm/sysv.S: Likewise.
2244
2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2246
* aclocal.m4: Regenerate.
2247
* configure: Likewise.
2248
* Makefile.in: Likewise.
2249
* include/Makefile.in: Likewise.
2250
* testsuite/Makefile.in: Likewise.
2252
2008-02-12 Bjoern Koenig <bkoenig@alpha-tierchen.de>
2253
Andreas Tobler <a.tobler@schweiz.org>
2255
* configure.ac: Add amd64-*-freebsd* target.
2256
* configure: Regenerate.
2258
2008-01-30 H.J. Lu <hongjiu.lu@intel.com>
2261
* src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
2264
* testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
2267
2008-01-24 David Edelsohn <edelsohn@gnu.org>
2269
* configure: Regenerate.
2271
2008-01-06 Andreas Tobler <a.tobler@schweiz.org>
2273
* src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
2275
2008-01-05 Andreas Tobler <a.tobler@schweiz.org>
2278
* src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
2279
signed/unsigned int8/16 for X86_DARWIN.
2280
Updated copyright info.
2281
Handle one and two byte structs with special cif->flags.
2282
* src/x86/ffitarget.h: Add special types for one and two byte structs.
2283
Updated copyright info.
2284
* src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
2286
Remove code to pop args from the stack after call.
2287
Special-case signed/unsigned for int8/16, one and two byte structs.
2288
(ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
2289
FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
2291
Updated copyright info.
2293
2007-12-08 David Daney <ddaney@avtrex.com>
2295
* src/mips/n32.S (ffi_call_N32): Replace dadd with ADDU, dsub with
2296
SUBU, add with ADDU and use smaller code sequences.
2298
2007-12-07 David Daney <ddaney@avtrex.com>
2300
* src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
2303
2007-12-06 David Daney <ddaney@avtrex.com>
2305
* include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
2307
(ffi_java_raw): New typedef.
2308
(ffi_java_raw_call, ffi_java_ptrarray_to_raw,
2309
ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
2311
(ffi_java_raw_closure) : Same.
2312
(ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
2314
* src/java_raw_api.c (ffi_java_raw_size): Replace FFI_SIZEOF_ARG with
2315
FFI_SIZEOF_JAVA_RAW.
2316
(ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
2317
Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
2318
sizeof(ffi_java_raw) for alignment calculations.
2319
(ffi_java_ptrarray_to_raw): Same.
2320
(ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
2321
if FFI_SIZEOF_JAVA_RAW == 4.
2322
(ffi_java_raw_to_rvalue): Same.
2323
(ffi_java_raw_call): Change type of raw to ffi_java_raw.
2324
(ffi_java_translate_args): Same.
2325
(ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
2327
* src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
2329
2007-12-06 David Daney <ddaney@avtrex.com>
2331
* src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on
2334
2007-12-01 Andreas Tobler <a.tobler@schweiz.org>
2337
* src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
2338
Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
2339
* src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
2340
set the NUM_FPR_ARG_REGISTERS according to.
2341
Add support for potential soft-float support under hard-float
2343
(ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
2344
FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
2345
to the FFI_LINUX_SOFT_FLOAT ABI.
2346
(ffi_prep_cif_machdep): Likewise.
2347
(ffi_closure_helper_SYSV): Likewise.
2348
* src/powerpc/ppc_closure.S: Make sure not to store float/double
2349
on archs where __NO_FPRS__ is true.
2350
Add FFI_TYPE_UINT128 support.
2351
* src/powerpc/sysv.S: Add support for soft-float long-double-128.
2352
Adjust copyright notice.
2354
2007-11-25 Andreas Tobler <a.tobler@schweiz.org>
2356
* src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
2357
* include/ffi_common.h: ... here.
2360
2007-11-17 Andreas Tobler <a.tobler@schweiz.org>
2362
* src/powerpc/sysv.S: Load correct cr to compare if we have long double.
2363
* src/powerpc/linux64.S: Likewise.
2364
* src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
2365
* testsuite/libffi.call/return_ldl.c: New test.
2367
2007-09-04 <aph@redhat.com>
2369
* src/arm/sysv.S (UNWIND): New.
2370
(Whole file): Conditionally compile unwinder directives.
2371
* src/arm/sysv.S: Add unwinder directives.
2373
* src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
2374
Only treat r0 as a struct address if we're actually returning a
2376
Only copy the bytes that are actually within a struct.
2377
(ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
2378
is returned in r0, not passed by address.
2379
(ffi_call): Allocate a word-sized temporary for the case where
2380
a composite is returned in r0.
2381
(ffi_prep_incoming_args_SYSV): Align as necessary.
2383
2007-08-05 Steven Newbury <s_j_newbury@yahoo.co.uk>
2385
* src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of
2386
directly using the sys_cacheflush syscall.
2388
2007-07-27 Andrew Haley <aph@redhat.com>
2390
* src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
2392
2007-09-03 Maciej W. Rozycki <macro@linux-mips.org>
2394
* Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
2395
* configure.ac: Likewise.
2396
* Makefile.in: Regenerate.
2397
* include/Makefile.in: Likewise.
2398
* testsuite/Makefile.in: Likewise.
2399
* configure: Likewise.
2401
2007-08-24 David Daney <ddaney@avtrex.com>
2403
* testsuite/libffi.call/return_sl.c: New test.
2405
2007-08-10 David Daney <ddaney@avtrex.com>
2407
* testsuite/libffi.call/cls_multi_ushort.c,
2408
testsuite/libffi.call/cls_align_uint16.c,
2409
testsuite/libffi.call/nested_struct1.c,
2410
testsuite/libffi.call/nested_struct3.c,
2411
testsuite/libffi.call/cls_7_1_byte.c,
2412
testsuite/libffi.call/nested_struct5.c,
2413
testsuite/libffi.call/cls_double.c,
2414
testsuite/libffi.call/nested_struct7.c,
2415
testsuite/libffi.call/cls_sint.c,
2416
testsuite/libffi.call/nested_struct9.c,
2417
testsuite/libffi.call/cls_20byte1.c,
2418
testsuite/libffi.call/cls_multi_sshortchar.c,
2419
testsuite/libffi.call/cls_align_sint64.c,
2420
testsuite/libffi.call/cls_3byte2.c,
2421
testsuite/libffi.call/cls_multi_schar.c,
2422
testsuite/libffi.call/cls_multi_uchar.c,
2423
testsuite/libffi.call/cls_19byte.c,
2424
testsuite/libffi.call/cls_9byte1.c,
2425
testsuite/libffi.call/cls_align_float.c,
2426
testsuite/libffi.call/closure_fn1.c,
2427
testsuite/libffi.call/problem1.c,
2428
testsuite/libffi.call/closure_fn3.c,
2429
testsuite/libffi.call/cls_sshort.c,
2430
testsuite/libffi.call/closure_fn5.c,
2431
testsuite/libffi.call/cls_align_double.c,
2432
testsuite/libffi.call/nested_struct.c,
2433
testsuite/libffi.call/cls_2byte.c,
2434
testsuite/libffi.call/nested_struct10.c,
2435
testsuite/libffi.call/cls_4byte.c,
2436
testsuite/libffi.call/cls_6byte.c,
2437
testsuite/libffi.call/cls_8byte.c,
2438
testsuite/libffi.call/cls_multi_sshort.c,
2439
testsuite/libffi.call/cls_align_sint16.c,
2440
testsuite/libffi.call/cls_align_uint32.c,
2441
testsuite/libffi.call/cls_20byte.c,
2442
testsuite/libffi.call/cls_float.c,
2443
testsuite/libffi.call/nested_struct2.c,
2444
testsuite/libffi.call/cls_5_1_byte.c,
2445
testsuite/libffi.call/nested_struct4.c,
2446
testsuite/libffi.call/cls_24byte.c,
2447
testsuite/libffi.call/nested_struct6.c,
2448
testsuite/libffi.call/cls_64byte.c,
2449
testsuite/libffi.call/nested_struct8.c,
2450
testsuite/libffi.call/cls_uint.c,
2451
testsuite/libffi.call/cls_multi_ushortchar.c,
2452
testsuite/libffi.call/cls_schar.c,
2453
testsuite/libffi.call/cls_uchar.c,
2454
testsuite/libffi.call/cls_align_uint64.c,
2455
testsuite/libffi.call/cls_ulonglong.c,
2456
testsuite/libffi.call/cls_align_longdouble.c,
2457
testsuite/libffi.call/cls_1_1byte.c,
2458
testsuite/libffi.call/cls_12byte.c,
2459
testsuite/libffi.call/cls_3_1byte.c,
2460
testsuite/libffi.call/cls_3byte1.c,
2461
testsuite/libffi.call/cls_4_1byte.c,
2462
testsuite/libffi.call/cls_6_1_byte.c,
2463
testsuite/libffi.call/cls_16byte.c,
2464
testsuite/libffi.call/cls_18byte.c,
2465
testsuite/libffi.call/closure_fn0.c,
2466
testsuite/libffi.call/cls_9byte2.c,
2467
testsuite/libffi.call/closure_fn2.c,
2468
testsuite/libffi.call/closure_fn4.c,
2469
testsuite/libffi.call/cls_ushort.c,
2470
testsuite/libffi.call/closure_fn6.c,
2471
testsuite/libffi.call/cls_5byte.c,
2472
testsuite/libffi.call/cls_align_pointer.c,
2473
testsuite/libffi.call/cls_7byte.c,
2474
testsuite/libffi.call/cls_align_sint32.c,
2475
testsuite/libffi.special/unwindtest_ffi_call.cc,
2476
testsuite/libffi.special/unwindtest.cc: Remove xfail for mips64*-*-*.
2478
2007-08-10 David Daney <ddaney@avtrex.com>
2481
* configure.ac: Don't treat mips64 as a special case.
2482
* Makefile.am (nodist_libffi_la_SOURCES): Add n32.S.
2483
* configure: Regenerate
2484
* Makefile.in: Ditto.
2485
* fficonfig.h.in: Ditto.
2486
* src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent.
2487
(LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros.
2488
(FFI_DEFAULT_ABI): Set for n64 case.
2489
(FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases.
2490
* src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE.
2491
(ffi_closure_N32): New function.
2492
(.eh_frame): New section
2493
* src/mips/o32.S: Clean up comments.
2494
(ffi_closure_O32): Pass ffi_closure parameter in $12.
2495
* src/mips/ffi.c: Use FFI_MIPS_N32 instead of
2496
_MIPS_SIM == _ABIN32 throughout.
2497
(FFI_MIPS_STOP_HERE): New, use in place of
2499
(ffi_prep_args): Use unsigned long to hold pointer values. Rewrite
2500
to support n32/n64 ABIs.
2501
(calc_n32_struct_flags): Rewrite.
2502
(calc_n32_return_struct_flags): Remove unused variable. Reverse
2503
position of flag bits.
2504
(ffi_prep_cif_machdep): Rewrite n32 portion.
2505
(ffi_call): Enable for n64. Add special handling for small structure
2507
(ffi_prep_closure_loc): Add n32 and n64 support.
2508
(ffi_closure_mips_inner_O32): Add cast to silence warning.
2509
(copy_struct_N32, ffi_closure_mips_inner_N32): New functions.
2511
2007-08-08 David Daney <ddaney@avtrex.com>
2513
* testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition.
2514
* testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
2516
* testsuite/libffi.call/nested_struct1.c (main): Ditto.
2517
* testsuite/libffi.call/cls_sint.c (main): Ditto.
2518
* testsuite/libffi.call/nested_struct9.c (main): Ditto.
2519
* testsuite/libffi.call/cls_20byte1.c (main): Ditto.
2520
* testsuite/libffi.call/cls_9byte1.c (main): Ditto.
2521
* testsuite/libffi.call/closure_fn1.c (main): Ditto.
2522
* testsuite/libffi.call/closure_fn3.c (main): Ditto.
2523
* testsuite/libffi.call/return_dbl2.c (main): Ditto.
2524
* testsuite/libffi.call/cls_sshort.c (main): Ditto.
2525
* testsuite/libffi.call/return_fl3.c (main): Ditto.
2526
* testsuite/libffi.call/closure_fn5.c (main): Ditto.
2527
* testsuite/libffi.call/nested_struct.c (main): Ditto.
2528
* testsuite/libffi.call/nested_struct10.c (main): Ditto.
2529
* testsuite/libffi.call/return_ll1.c (main): Ditto.
2530
* testsuite/libffi.call/cls_8byte.c (main): Ditto.
2531
* testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
2532
* testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
2533
* testsuite/libffi.call/cls_20byte.c (main): Ditto.
2534
* testsuite/libffi.call/nested_struct2.c (main): Ditto.
2535
* testsuite/libffi.call/cls_24byte.c (main): Ditto.
2536
* testsuite/libffi.call/nested_struct6.c (main): Ditto.
2537
* testsuite/libffi.call/cls_uint.c (main): Ditto.
2538
* testsuite/libffi.call/cls_12byte.c (main): Ditto.
2539
* testsuite/libffi.call/cls_16byte.c (main): Ditto.
2540
* testsuite/libffi.call/closure_fn0.c (main): Ditto.
2541
* testsuite/libffi.call/cls_9byte2.c (main): Ditto.
2542
* testsuite/libffi.call/closure_fn2.c (main): Ditto.
2543
* testsuite/libffi.call/return_dbl1.c (main): Ditto.
2544
* testsuite/libffi.call/closure_fn4.c (main): Ditto.
2545
* testsuite/libffi.call/closure_fn6.c (main): Ditto.
2546
* testsuite/libffi.call/cls_align_sint32.c (main): Ditto.
2548
2007-08-07 Andrew Haley <aph@redhat.com>
2550
* src/x86/sysv.S (ffi_closure_raw_SYSV): Fix typo in previous
2553
2007-08-06 Andrew Haley <aph@redhat.com>
2556
* src/x86/sysv.S (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
2557
FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
2560
2007-08-02 David Daney <ddaney@avtrex.com>
2562
* testsuite/libffi.call/return_ul.c (main): Define return type as
2563
ffi_arg. Use proper printf conversion specifier.
2565
2007-07-30 Andrew Haley <aph@redhat.com>
2568
* src/x86/ffi.c (ffi_prep_cif_machdep): in x86 case, add code for
2569
signed/unsigned int8/16.
2570
* src/x86/sysv.S (ffi_call_SYSV): Rewrite to:
2572
Remove code to pop args from the stack after call.
2573
Special-case signed/unsigned int8/16.
2574
* testsuite/libffi.call/return_sc.c (main): Revert.
2576
2007-07-26 Richard Guenther <rguenther@suse.de>
2579
* testsuite/libffi.call/return_sc.c (main): Verify call
2580
result as signed char, not ffi_arg.
2582
2007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2584
* configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64.
2585
* configure: Regenerate.
2587
2007-07-11 David Daney <ddaney@avtrex.com>
2589
* src/mips/ffi.c: Don't include sys/cachectl.h.
2590
(ffi_prep_closure_loc): Use __builtin___clear_cache() instead of
2593
2007-05-18 Aurelien Jarno <aurelien@aurel32.net>
2595
* src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted
2596
from (ffi_prep_closure): ... this.
2597
(FFI_INIT_TRAMPOLINE): Adjust.
2599
2005-12-31 Phil Blundell <pb@reciva.com>
2601
* src/arm/ffi.c (ffi_prep_incoming_args_SYSV,
2602
ffi_closure_SYSV_inner, ffi_prep_closure): New, add closure support.
2603
* src/arm/sysv.S(ffi_closure_SYSV): Likewise.
2604
* src/arm/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
2605
(FFI_CLOSURES): Enable closure support.
2607
2007-07-03 Andrew Haley <aph@hedges.billgatliff.com>
2609
* testsuite/libffi.call/cls_multi_ushort.c,
2610
testsuite/libffi.call/cls_align_uint16.c,
2611
testsuite/libffi.call/nested_struct1.c,
2612
testsuite/libffi.call/nested_struct3.c,
2613
testsuite/libffi.call/cls_7_1_byte.c,
2614
testsuite/libffi.call/cls_double.c,
2615
testsuite/libffi.call/nested_struct5.c,
2616
testsuite/libffi.call/nested_struct7.c,
2617
testsuite/libffi.call/cls_sint.c,
2618
testsuite/libffi.call/nested_struct9.c,
2619
testsuite/libffi.call/cls_20byte1.c,
2620
testsuite/libffi.call/cls_multi_sshortchar.c,
2621
testsuite/libffi.call/cls_align_sint64.c,
2622
testsuite/libffi.call/cls_3byte2.c,
2623
testsuite/libffi.call/cls_multi_schar.c,
2624
testsuite/libffi.call/cls_multi_uchar.c,
2625
testsuite/libffi.call/cls_19byte.c,
2626
testsuite/libffi.call/cls_9byte1.c,
2627
testsuite/libffi.call/cls_align_float.c,
2628
testsuite/libffi.call/closure_fn1.c,
2629
testsuite/libffi.call/problem1.c,
2630
testsuite/libffi.call/closure_fn3.c,
2631
testsuite/libffi.call/cls_sshort.c,
2632
testsuite/libffi.call/closure_fn5.c,
2633
testsuite/libffi.call/cls_align_double.c,
2634
testsuite/libffi.call/cls_2byte.c,
2635
testsuite/libffi.call/nested_struct.c,
2636
testsuite/libffi.call/nested_struct10.c,
2637
testsuite/libffi.call/cls_4byte.c,
2638
testsuite/libffi.call/cls_6byte.c,
2639
testsuite/libffi.call/cls_8byte.c,
2640
testsuite/libffi.call/cls_multi_sshort.c,
2641
testsuite/libffi.call/cls_align_uint32.c,
2642
testsuite/libffi.call/cls_align_sint16.c,
2643
testsuite/libffi.call/cls_float.c,
2644
testsuite/libffi.call/cls_20byte.c,
2645
testsuite/libffi.call/cls_5_1_byte.c,
2646
testsuite/libffi.call/nested_struct2.c,
2647
testsuite/libffi.call/cls_24byte.c,
2648
testsuite/libffi.call/nested_struct4.c,
2649
testsuite/libffi.call/nested_struct6.c,
2650
testsuite/libffi.call/cls_64byte.c,
2651
testsuite/libffi.call/nested_struct8.c,
2652
testsuite/libffi.call/cls_uint.c,
2653
testsuite/libffi.call/cls_multi_ushortchar.c,
2654
testsuite/libffi.call/cls_schar.c,
2655
testsuite/libffi.call/cls_uchar.c,
2656
testsuite/libffi.call/cls_align_uint64.c,
2657
testsuite/libffi.call/cls_ulonglong.c,
2658
testsuite/libffi.call/cls_align_longdouble.c,
2659
testsuite/libffi.call/cls_1_1byte.c,
2660
testsuite/libffi.call/cls_12byte.c,
2661
testsuite/libffi.call/cls_3_1byte.c,
2662
testsuite/libffi.call/cls_3byte1.c,
2663
testsuite/libffi.call/cls_4_1byte.c,
2664
testsuite/libffi.call/cls_6_1_byte.c,
2665
testsuite/libffi.call/cls_16byte.c,
2666
testsuite/libffi.call/cls_18byte.c,
2667
testsuite/libffi.call/closure_fn0.c,
2668
testsuite/libffi.call/cls_9byte2.c,
2669
testsuite/libffi.call/closure_fn2.c,
2670
testsuite/libffi.call/closure_fn4.c,
2671
testsuite/libffi.call/cls_ushort.c,
2672
testsuite/libffi.call/closure_fn6.c,
2673
testsuite/libffi.call/cls_5byte.c,
2674
testsuite/libffi.call/cls_align_pointer.c,
2675
testsuite/libffi.call/cls_7byte.c,
2676
testsuite/libffi.call/cls_align_sint32.c,
2677
testsuite/libffi.special/unwindtest_ffi_call.cc,
2678
testsuite/libffi.special/unwindtest.cc: Enable for ARM.
2680
2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
2682
* aclocal.m4: Regenerated.
2684
2007-06-02 Paolo Bonzini <bonzini@gnu.org>
2686
* configure: Regenerate.
2688
2007-05-23 Steve Ellcey <sje@cup.hp.com>
2690
* Makefile.in: Regenerate.
2691
* configure: Regenerate.
2692
* aclocal.m4: Regenerate.
2693
* include/Makefile.in: Regenerate.
2694
* testsuite/Makefile.in: Regenerate.
2696
2007-05-10 Roman Zippel <zippel@linux-m68k.org>
2698
* src/m68k/ffi.c (ffi_prep_incoming_args_SYSV,
2699
ffi_closure_SYSV_inner,ffi_prep_closure): New, add closure support.
2700
* src/m68k/sysv.S(ffi_closure_SYSV,ffi_closure_struct_SYSV): Likewise.
2701
* src/m68k/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
2702
(FFI_CLOSURES): Enable closure support.
2704
2007-05-10 Roman Zippel <zippel@linux-m68k.org>
2706
* configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test.
2707
* configure: Regenerate.
2708
* fficonfig.h.in: Regenerate.
2709
* src/m68k/sysv.S (CFI_STARTPROC,CFI_ENDPROC,
2710
CFI_OFFSET,CFI_DEF_CFA): New macros.
2711
(ffi_call_SYSV): Add callframe annotation.
2713
2007-05-10 Roman Zippel <zippel@linux-m68k.org>
2715
* src/m68k/ffi.c (ffi_prep_args,ffi_prep_cif_machdep): Fix
2716
numerous test suite failures.
2717
* src/m68k/sysv.S (ffi_call_SYSV): Likewise.
2719
2007-04-11 Paolo Bonzini <bonzini@gnu.org>
2721
* Makefile.am (EXTRA_DIST): Bring up to date.
2722
* Makefile.in: Regenerate.
2723
* src/frv/eabi.S: Remove RCS keyword.
2725
2007-04-06 Richard Henderson <rth@redhat.com>
2727
* configure.ac: Tidy target case.
2728
(HAVE_LONG_DOUBLE): Allow the target to override.
2729
* configure: Regenerate.
2730
* include/ffi.h.in: Don't define ffi_type_foo if
2731
LIBFFI_HIDE_BASIC_TYPES is defined.
2732
(ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
2734
* types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
2735
(FFI_TYPEDEF, ffi_type_void): Mark the data const.
2736
(ffi_type_longdouble): Special case for Alpha. Don't define
2737
if long double == double.
2739
* src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
2740
(ffi_prep_cif_machdep): Handle it as the 128-bit type.
2741
(ffi_call, ffi_closure_osf_inner): Likewise.
2742
(ffi_closure_osf_inner): Likewise. Mark hidden.
2743
(ffi_call_osf, ffi_closure_osf): Mark hidden.
2744
* src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
2745
* src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
2746
(load_table): Handle 128-bit long double.
2748
* testsuite/libffi.call/float4.c: Add -mieee for alpha.
2750
2007-04-06 Tom Tromey <tromey@redhat.com>
2753
* README: Fixed bug in example.
2755
2007-04-03 Jakub Jelinek <jakub@redhat.com>
2757
* src/closures.c: Include sys/statfs.h.
2758
(_GNU_SOURCE): Define on Linux.
2759
(FFI_MMAP_EXEC_SELINUX): Define.
2760
(selinux_enabled): New variable.
2761
(selinux_enabled_check): New function.
2762
(is_selinux_enabled): Define.
2765
2007-03-24 Uros Bizjak <ubizjak@gmail.com>
2767
* testsuite/libffi.call/return_fl2.c (return_fl): Mark as static.
2768
Use 'volatile float sum' to create sum of floats to avoid false
2769
negative due to excess precision on ix86 targets.
2772
2007-03-08 Alexandre Oliva <aoliva@redhat.com>
2774
* src/powerpc/ffi.c (flush_icache): Fix left-over from previous
2776
(ffi_prep_closure_loc): Remove unneeded casts. Add needed ones.
2778
2007-03-07 Alexandre Oliva <aoliva@redhat.com>
2780
* include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
2781
(ffi_prep_closure_loc): New.
2782
(ffi_prep_raw_closure_loc): New.
2783
(ffi_prep_java_raw_closure_loc): New.
2784
* src/closures.c: New file.
2785
* src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
2786
Replace sflags with exec_offset.
2787
[FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
2788
sub_segment_exec_offset): New macros.
2789
(get_segment_flags, set_segment_flags, check_segment_merge): New
2791
(is_mmapped_segment, is_extern_segment): Use get_segment_flags.
2792
(add_segment, sys_alloc, create_mspace, create_mspace_with_base,
2793
destroy_mspace): Use new macros.
2794
(sys_alloc): Silence warning.
2795
* Makefile.am (libffi_la_SOURCES): Add src/closures.c.
2796
* Makefile.in: Rebuilt.
2797
* src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
2798
terms of ffi_prep_closure_loc.
2799
* src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
2801
(ffi_prep_raw_closure): ... this. Re-implement in terms of the
2803
* src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
2805
(ffi_prep_java_raw_closure): ... this. Re-implement in terms of
2806
the renamed version.
2807
* src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
2808
(ffi_prep_closure): ... this.
2809
* src/pa/ffi.c: Likewise.
2810
* src/cris/ffi.c: Likewise. Adjust.
2811
* src/frv/ffi.c: Likewise.
2812
* src/ia64/ffi.c: Likewise.
2813
* src/mips/ffi.c: Likewise.
2814
* src/powerpc/ffi_darwin.c: Likewise.
2815
* src/s390/ffi.c: Likewise.
2816
* src/sh/ffi.c: Likewise.
2817
* src/sh64/ffi.c: Likewise.
2818
* src/sparc/ffi.c: Likewise.
2819
* src/x86/ffi64.c: Likewise.
2820
* src/x86/ffi.c: Likewise.
2821
(FFI_INIT_TRAMPOLINE): Adjust.
2822
(ffi_prep_raw_closure_loc): Renamed and adjusted from...
2823
(ffi_prep_raw_closure): ... this.
2824
* src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
2825
(ffi_prep_closure): ... this.
2826
(flush_icache): Adjust.
2828
2007-03-07 Alexandre Oliva <aoliva@redhat.com>
2830
* src/dlmalloc.c: New file, imported version 2.8.3 of Doug
2833
2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
2835
* Makefile.am: Add dummy install-pdf target.
2836
* Makefile.in: Regenerate
2838
2007-02-13 Andreas Krebbel <krebbel1@de.ibm.com>
2840
* src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep,
2841
ffi_closure_helper_SYSV): Add long double handling.
2843
2007-02-02 Jakub Jelinek <jakub@redhat.com>
2845
* src/powerpc/linux64.S (ffi_call_LINUX64): Move restore of r2
2846
immediately after bctrl instruction.
2848
2007-01-18 Alexandre Oliva <aoliva@redhat.com>
2850
* Makefile.am (all-recursive, install-recursive,
2851
mostlyclean-recursive, clean-recursive, distclean-recursive,
2852
maintainer-clean-recursive): Add missing targets.
2853
* Makefile.in: Rebuilt.
2855
2006-12-14 Andreas Tobler <a.tobler@schweiz.org>
2857
* configure.ac: Add TARGET for x86_64-*-darwin*.
2858
* Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
2860
* src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
2861
* src/x86/darwin64.S: New file for x86_64-*-darwin* support.
2862
* configure: Regenerate.
2863
* Makefile.in: Regenerate.
2864
* include/Makefile.in: Regenerate.
2865
* testsuite/Makefile.in: Regenerate.
2866
* testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
2869
2006-12-13 Andreas Tobler <a.tobler@schweiz.org>
2871
* aclocal.m4: Regenerate with aclocal -I .. as written in the
2874
2006-10-31 Geoffrey Keating <geoffk@apple.com>
2876
* src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
2877
(ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
2879
* testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
2880
* testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
2882
2006-10-10 Paolo Bonzini <bonzini@gnu.org>
2883
Sandro Tolaini <tolaini@libero.it>
2885
* configure.ac [i*86-*-darwin*]: Set X86_DARWIN symbol and
2887
* configure: Regenerated.
2888
* Makefile.am (nodist_libffi_la_SOURCES) [X86_DARWIN]: New case.
2889
(EXTRA_DIST): Add src/x86/darwin.S.
2890
* Makefile.in: Regenerated.
2891
* include/Makefile.in: Regenerated.
2892
* testsuite/Makefile.in: Regenerated.
2894
* src/x86/ffi.c (ffi_prep_cif_machdep) [X86_DARWIN]: Treat like
2895
X86_WIN32, and additionally align stack to 16 bytes.
2896
* src/x86/darwin.S: New, based on sysv.S.
2897
* src/prep_cif.c (ffi_prep_cif) [X86_DARWIN]: Align > 8-byte structs.
2899
2006-09-12 David Daney <ddaney@avtrex.com>
2902
* include/Makefile.am: Install both ffi.h and ffitarget.h in
2903
$(libdir)/gcc/$(target_alias)/$(gcc_version)/include.
2904
* aclocal.m4: Regenerated for automake 1.9.6.
2905
* Makefile.in: Regenerated.
2906
* include/Makefile.in: Regenerated.
2907
* testsuite/Makefile.in: Regenerated.
2909
2006-08-17 Andreas Tobler <a.tobler@schweiz.ch>
2911
* include/ffi_common.h (struct): Revert accidental commit.
2913
2006-08-15 Andreas Tobler <a.tobler@schweiz.ch>
2915
* include/ffi_common.h: Remove lint directives.
2916
* include/ffi.h.in: Likewise.
2918
2006-07-25 Torsten Schoenfeld <kaffeetisch@gmx.de>
2920
* include/ffi.h.in (ffi_type_ulong, ffi_type_slong): Define correctly
2921
for 32-bit architectures.
2922
* testsuite/libffi.call/return_ul.c: New test case.
2924
2006-07-19 David Daney <ddaney@avtrex.com>
2926
* testsuite/libffi.call/closure_fn6.c: Remove xfail for mips,
2927
xfail remains for mips64.
2929
2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
2931
* Makefile.am: Add install-html target. Add install-html to .PHONY
2932
* Makefile.in: Regenerate.
2933
* aclocal.m4: Regenerate.
2934
* include/Makefile.in: Regenerate.
2935
* testsuite/Makefile.in: Regenerate.
2937
2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2939
* pa/ffi.c (ffi_prep_args_pa32): Load floating point arguments from
2942
2006-04-22 Andreas Tobler <a.tobler@schweiz.ch>
2944
* README: Remove notice about 'Crazy Comments'.
2945
* src/debug.c: Remove lint directives. Cleanup white spaces.
2946
* src/java_raw_api.c: Likewise.
2947
* src/prep_cif.c: Likewise.
2948
* src/raw_api.c: Likewise.
2949
* src/ffitest.c: Delete. No longer needed, all test cases migrated
2951
* src/arm/ffi.c: Remove lint directives.
2952
* src/m32r/ffi.c: Likewise.
2953
* src/pa/ffi.c: Likewise.
2954
* src/powerpc/ffi.c: Likewise.
2955
* src/powerpc/ffi_darwin.c: Likewise.
2956
* src/sh/ffi.c: Likewise.
2957
* src/sh64/ffi.c: Likewise.
2958
* src/x86/ffi.c: Likewise.
2959
* testsuite/libffi.call/float2.c: Likewise.
2960
* testsuite/libffi.call/promotion.c: Likewise.
2961
* testsuite/libffi.call/struct1.c: Likewise.
2963
2006-04-13 Andreas Tobler <a.tobler@schweiz.ch>
2965
* src/pa/hpux32.S: Correct unwind offset calculation for
2967
* src/pa/linux.S: Likewise.
2969
2006-04-12 James E Wilson <wilson@specifix.com>
2972
* src/ia64/ffi.c (stf_spill, ldf_fill): Rewrite as macros.
2973
(hfa_type_load): Call stf_spill.
2974
(hfa_type_store): Call ldf_fill.
2975
(ffi_call): Adjust calls to above routines. Add local temps for
2978
2006-04-10 Matthias Klose <doko@debian.org>
2980
* testsuite/lib/libffi-dg.exp (libffi-init): Recognize multilib
2981
directory names containing underscores.
2983
2006-04-07 James E Wilson <wilson@specifix.com>
2985
* testsuite/libffi.call/float4.c: New testcase.
2987
2006-04-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2988
Andreas Tobler <a.tobler@schweiz.ch>
2990
* Makefile.am: Add PA_HPUX port.
2991
* Makefile.in: Regenerate.
2992
* include/Makefile.in: Likewise.
2993
* testsuite/Makefile.in: Likewise.
2994
* configure.ac: Add PA_HPUX rules.
2995
* configure: Regenerate.
2996
* src/pa/ffitarget.h: Rename linux target to PA_LINUX.
2997
Add PA_HPUX and PA64_HPUX.
2998
Rename FFI_LINUX ABI to FFI_PA32 ABI.
2999
(FFI_TRAMPOLINE_SIZE): Define for 32-bit HP-UX targets.
3000
(FFI_TYPE_SMALL_STRUCT2): Define.
3001
(FFI_TYPE_SMALL_STRUCT4): Likewise.
3002
(FFI_TYPE_SMALL_STRUCT8): Likewise.
3003
(FFI_TYPE_SMALL_STRUCT3): Redefine.
3004
(FFI_TYPE_SMALL_STRUCT5): Likewise.
3005
(FFI_TYPE_SMALL_STRUCT6): Likewise.
3006
(FFI_TYPE_SMALL_STRUCT7): Likewise.
3007
* src/pa/ffi.c (ROUND_DOWN): Delete.
3008
(fldw, fstw, fldd, fstd): Use '__asm__'.
3009
(ffi_struct_type): Add support for FFI_TYPE_SMALL_STRUCT2,
3010
FFI_TYPE_SMALL_STRUCT4 and FFI_TYPE_SMALL_STRUCT8.
3011
(ffi_prep_args_LINUX): Rename to ffi_prep_args_pa32. Update comment.
3012
Simplify incrementing of stack slot variable. Change type of local
3013
'n' to unsigned int.
3014
(ffi_size_stack_LINUX): Rename to ffi_size_stack_pa32. Handle long
3016
(ffi_prep_cif_machdep): Likewise.
3017
(ffi_call): Likewise.
3018
(ffi_closure_inner_LINUX): Rename to ffi_closure_inner_pa32. Change
3019
return type to ffi_status. Simplify incrementing of stack slot
3020
variable. Only copy floating point argument registers when PA_LINUX
3021
is true. Reformat debug statement.
3022
Add support for FFI_TYPE_SMALL_STRUCT2, FFI_TYPE_SMALL_STRUCT4 and
3023
FFI_TYPE_SMALL_STRUCT8.
3024
(ffi_closure_LINUX): Rename to ffi_closure_pa32. Add 'extern' to
3026
(ffi_prep_closure): Make linux trampoline conditional on PA_LINUX.
3027
Add nops to cache flush. Add trampoline for PA_HPUX.
3028
* src/pa/hpux32.S: New file.
3029
* src/pa/linux.S (ffi_call_LINUX): Rename to ffi_call_pa32. Rename
3030
ffi_prep_args_LINUX to ffi_prep_args_pa32.
3031
Localize labels. Add support for 2, 4 and 8-byte small structs. Handle
3032
unaligned destinations in 3, 5, 6 and 7-byte small structs. Order
3033
argument type checks so that common argument types appear first.
3034
(ffi_closure_LINUX): Rename to ffi_closure_pa32. Rename
3035
ffi_closure_inner_LINUX to ffi_closure_inner_pa32.
3037
2006-03-24 Alan Modra <amodra@bigpond.net.au>
3039
* src/powerpc/ffitarget.h (enum ffi_abi): Add FFI_LINUX. Default
3040
for 32-bit using IBM extended double format. Fix FFI_LAST_ABI.
3041
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Handle linux variant of
3042
FFI_TYPE_LONGDOUBLE.
3043
(ffi_prep_args64): Assert using IBM extended double.
3044
(ffi_prep_cif_machdep): Don't munge FFI_TYPE_LONGDOUBLE type.
3045
Handle FFI_LINUX FFI_TYPE_LONGDOUBLE return and args.
3046
(ffi_call): Handle FFI_LINUX.
3047
(ffi_closure_helper_SYSV): Non FFI_LINUX long double return needs
3048
gpr3 return pointer as for struct return. Handle FFI_LINUX
3049
FFI_TYPE_LONGDOUBLE return and args. Don't increment "nf"
3051
* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Load both f1 and f2
3052
for FFI_TYPE_LONGDOUBLE. Move epilogue insns into case table.
3053
Don't use r6 as pointer to results, instead use sp offset. Don't
3054
make a special call to load lr with case table address, instead
3055
use offset from previous call.
3056
* src/powerpc/sysv.S (ffi_call_SYSV): Save long double return.
3057
* src/powerpc/linux64.S (ffi_call_LINUX64): Simplify long double
3060
2006-03-15 Kaz Kojima <kkojima@gcc.gnu.org>
3062
* src/sh64/ffi.c (ffi_prep_cif_machdep): Handle float arguments
3063
passed with FP registers correctly.
3064
(ffi_closure_helper_SYSV): Likewise.
3065
* src/sh64/sysv.S: Likewise.
3067
2006-03-01 Andreas Tobler <a.tobler@schweiz.ch>
3069
* testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
3070
args and userdata unused.
3071
(closure_test_fn1): Mark cif and userdata unused.
3072
(main): Remove unused res.
3074
2006-02-28 Andreas Tobler <a.tobler@schweiz.ch>
3076
* testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
3077
-O2, -O3, -Os and the warning flags -W -Wall.
3078
* testsuite/libffi.special/special.exp: Likewise.
3079
* testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
3080
unused parameter unused for gcc or else do nothing.
3081
* testsuite/libffi.special/ffitestcxx.h: Likewise.
3082
* testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
3083
and userdata unused.
3084
* testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
3085
* testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
3086
* testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
3087
* testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
3088
* testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
3089
* testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
3090
* testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
3091
* testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
3092
* testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
3093
* testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
3094
* testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
3095
* testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
3096
* testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
3097
* testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
3098
* testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
3099
* testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
3100
* testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
3101
* testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
3102
* testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
3103
* testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
3104
* testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
3105
* testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
3106
* testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
3107
* testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
3109
* testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
3111
* testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
3113
* testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
3114
void* to avoid compiler warning.
3116
(cls_struct_align_gn): Mark cif and userdata unused.
3117
* testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
3119
* testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
3121
* testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
3123
* testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
3125
* testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
3127
* testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
3128
* testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
3129
* testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
3131
(main): Cast res_call to silence gcc.
3132
* testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
3134
(main): Cast res_call to silence gcc.
3135
* testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
3137
(main): Cast res_call to silence gcc.
3138
* testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
3140
(main): Cast res_call to silence gcc.
3141
* testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
3143
(main): Cast res_call to silence gcc.
3144
* testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
3146
(main): Cast res_call to silence gcc.
3147
* testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
3149
(cls_ret_schar_fn): Cast printf parameter to silence gcc.
3150
* testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
3152
(cls_ret_sint_fn): Cast printf parameter to silence gcc.
3153
* testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
3155
(cls_ret_sshort_fn): Cast printf parameter to silence gcc.
3156
* testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn): Mark cif and
3158
(cls_ret_uchar_fn): Cast printf parameter to silence gcc.
3159
* testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
3161
(cls_ret_uint_fn): Cast printf parameter to silence gcc.
3162
* testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
3163
and userdata unused.
3164
* testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
3166
(cls_ret_ushort_fn): Cast printf parameter to silence gcc.
3167
* testsuite/libffi.call/float.c (floating): Remove unused parameter e.
3168
* testsuite/libffi.call/float1.c (main): Remove unused variable i.
3169
Cleanup white spaces.
3170
* testsuite/libffi.call/negint.c (checking): Remove unused variable i.
3171
* testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
3172
cif and userdata unused.
3173
* testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
3175
* testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
3176
* testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
3177
formatters to silence gcc.
3178
(B_gn): Mark cif and userdata unused.
3179
* testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
3181
* testsuite/libffi.call/nested_struct4.c: Mention related PR.
3182
(B_gn): Mark cif and userdata unused.
3183
* testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
3185
* testsuite/libffi.call/nested_struct6.c: Mention related PR.
3186
(B_gn): Mark cif and userdata unused.
3187
* testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
3189
* testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
3190
* testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
3191
* testsuite/libffi.call/problem1.c (stub): Likewise.
3192
* testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
3194
* testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
3195
in the last commit for this test case in the test case itself.
3196
* testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
3198
* testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
3199
* testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
3200
* testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
3201
* testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
3202
* testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
3203
* testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
3205
2006-02-22 Kaz Kojima <kkojima@gcc.gnu.org>
3207
* src/sh/sysv.S: Fix register numbers in the FDE for
3210
2006-02-20 Andreas Tobler <a.tobler@schweiz.ch>
3212
* testsuite/libffi.call/return_fl2.c (return_fl): Remove static
3213
declaration to avoid a false negative on ix86. See PR323.
3215
2006-02-18 Kaz Kojima <kkojima@gcc.gnu.org>
3217
* src/sh/ffi.c (ffi_closure_helper_SYSV): Remove unused variable
3218
and cast integer to void * if needed. Update the pointer to
3219
the FP register saved area correctly.
3221
2006-02-17 Andreas Tobler <a.tobler@schweiz.ch>
3223
* testsuite/libffi.call/nested_struct6.c: XFAIL this test until PR25630
3225
* testsuite/libffi.call/nested_struct4.c: Likewise.
3227
2006-02-16 Andreas Tobler <a.tobler@schweiz.ch>
3229
* testsuite/libffi.call/return_dbl.c: New test case.
3230
* testsuite/libffi.call/return_dbl1.c: Likewise.
3231
* testsuite/libffi.call/return_dbl2.c: Likewise.
3232
* testsuite/libffi.call/return_fl.c: Likewise.
3233
* testsuite/libffi.call/return_fl1.c: Likewise.
3234
* testsuite/libffi.call/return_fl2.c: Likewise.
3235
* testsuite/libffi.call/return_fl3.c: Likewise.
3236
* testsuite/libffi.call/closure_fn6.c: Likewise.
3238
* testsuite/libffi.call/nested_struct2.c: Remove ffi_type_mylong
3240
* testsuite/libffi.call/ffitest.h: Add ffi_type_mylong definition
3241
here to be used by other test cases too.
3243
* testsuite/libffi.call/nested_struct10.c: New test case.
3244
* testsuite/libffi.call/nested_struct9.c: Likewise.
3245
* testsuite/libffi.call/nested_struct8.c: Likewise.
3246
* testsuite/libffi.call/nested_struct7.c: Likewise.
3247
* testsuite/libffi.call/nested_struct6.c: Likewise.
3248
* testsuite/libffi.call/nested_struct5.c: Likewise.
3249
* testsuite/libffi.call/nested_struct4.c: Likewise.
3251
2006-01-21 Andreas Tobler <a.tobler@schweiz.ch>
3253
* configure.ac: Enable libffi for sparc64-*-freebsd*.
3254
* configure: Rebuilt.
3256
2006-01-18 Jakub Jelinek <jakub@redhat.com>
3258
* src/powerpc/sysv.S (smst_two_register): Don't call __ashldi3,
3259
instead do the shifting inline.
3260
* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't compute %r5
3261
shift count unconditionally. Simplify load sequences for 1, 2, 3, 4
3262
and 8 byte structs, for the remaining struct sizes don't call
3263
__lshrdi3, instead do the shifting inline.
3265
2005-12-07 Thiemo Seufer <ths@networkno.de>
3267
* src/mips/ffitarget.h: Remove obsolete sgidefs.h include. Add
3268
missing parentheses.
3269
* src/mips/o32.S (ffi_call_O32): Code formatting. Define
3270
and use A3_OFF, FP_OFF, RA_OFF. Micro-optimizations.
3271
(ffi_closure_O32): Likewise, but with newly defined A3_OFF2,
3272
A2_OFF2, A1_OFF2, A0_OFF2, RA_OFF2, FP_OFF2, S0_OFF2, GP_OFF2,
3273
V1_OFF2, V0_OFF2, FA_1_1_OFF2, FA_1_0_OFF2, FA_0_1_OFF2,
3275
* src/mips/ffi.c (ffi_prep_args): Code formatting. Fix
3277
(ffi_prep_closure): Improve trampoline instruction scheduling.
3278
(ffi_closure_mips_inner_O32): Fix endianness bugs.
3280
2005-12-03 Alan Modra <amodra@bigpond.net.au>
3282
* src/powerpc/ffi.c: Formatting.
3283
(ffi_prep_args_SYSV): Avoid possible aliasing problems by using unions.
3284
(ffi_prep_args64): Likewise.
3286
2005-09-30 Geoffrey Keating <geoffk@apple.com>
3288
* testsuite/lib/libffi-dg.exp (libffi_target_compile): For
3289
darwin, use -shared-libgcc not -lgcc_s, and explain why.
3291
2005-09-26 Tom Tromey <tromey@redhat.com>
3293
* testsuite/libffi.call/float1.c (value_type): New typedef.
3294
(CANARY): New define.
3295
(main): Check for result buffer overflow.
3296
* src/powerpc/linux64.S: Handle linux64 long double returns.
3297
* src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
3298
(ffi_prep_cif_machdep): Handle linux64 long double returns.
3300
2005-08-25 Alan Modra <amodra@bigpond.net.au>
3303
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Correct placement of stack
3305
(ffi_status ffi_prep_cif_machdep): Correct stack sizing for same.
3307
2005-08-11 Jakub Jelinek <jakub@redhat.com>
3309
* configure.ac (HAVE_HIDDEN_VISIBILITY_ATTRIBUTE): New test.
3310
(AH_BOTTOM): Add FFI_HIDDEN definition.
3311
* configure: Rebuilt.
3312
* fficonfig.h.in: Rebuilt.
3313
* src/powerpc/ffi.c (hidden): Remove.
3314
(ffi_closure_LINUX64, ffi_prep_args64, ffi_call_LINUX64,
3315
ffi_closure_helper_LINUX64): Use FFI_HIDDEN instead of hidden.
3316
* src/powerpc/linux64_closure.S (ffi_closure_LINUX64,
3317
.ffi_closure_LINUX64): Use FFI_HIDDEN instead of .hidden.
3318
* src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV): Remove,
3319
add FFI_HIDDEN to its prototype.
3320
(ffi_closure_SYSV_inner): New.
3321
* src/x86/sysv.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
3322
* src/x86/win32.S (ffi_closure_SYSV, ffi_closure_raw_SYSV): New.
3324
2005-08-10 Alfred M. Szmidt <ams@gnu.org>
3327
* configure: Rebuilt.
3328
* configure.ac: Handle i*86-*-gnu*.
3330
2005-08-09 Jakub Jelinek <jakub@redhat.com>
3332
* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Use
3333
DW_CFA_offset_extended_sf rather than
3334
DW_CFA_GNU_negative_offset_extended.
3335
* src/powerpc/sysv.S (ffi_call_SYSV): Likewise.
3337
2005-07-22 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
3339
* src/sh/sysv.S (ffi_call_SYSV): Stop argument popping correctly
3341
(ffi_closure_SYSV): Change the stack layout for sh3 struct argument.
3342
* src/sh/ffi.c (ffi_prep_args): Fix sh3 argument copy, when it is
3343
partially on register.
3344
(ffi_closure_helper_SYSV): Likewise.
3345
(ffi_prep_cif_machdep): Don't set too many cif->flags.
3347
2005-07-20 Kaz Kojima <kkojima@gcc.gnu.org>
3349
* src/sh/ffi.c (ffi_call): Handle small structures correctly.
3351
* src/sh64/ffi.c (simple_type): Remove.
3352
(return_type): Handle small structures correctly.
3353
(ffi_prep_args): Likewise.
3354
(ffi_call): Likewise.
3355
(ffi_closure_helper_SYSV): Likewise.
3356
* src/sh64/sysv.S (ffi_call_SYSV): Handle 1, 2 and 4-byte return.
3357
Emit position independent code if PIC and remove wrong datalabel
3358
prefixes from EH data.
3360
2005-07-19 Andreas Tobler <a.tobler@schweiz.ch>
3362
* Makefile.am (nodist_libffi_la_SOURCES): Add POWERPC_FREEBSD.
3363
* Makefile.in: Regenerate.
3364
* include/Makefile.in: Likewise.
3365
* testsuite/Makefile.in: Likewise.
3366
* configure.ac: Add POWERPC_FREEBSD rules.
3367
* configure: Regenerate.
3368
* src/powerpc/ffitarget.h: Add POWERPC_FREEBSD rules.
3369
(FFI_SYSV_TYPE_SMALL_STRUCT): Define.
3370
* src/powerpc/ffi.c: Add flags to handle small structure returns
3372
(ffi_prep_cif_machdep): Handle small structures for SYSV 4 ABI.
3374
(ffi_closure_helper_SYSV): Likewise.
3375
* src/powerpc/ppc_closure.S: Add return types for small structures.
3376
* src/powerpc/sysv.S: Add bits to handle small structures for
3379
2005-07-10 Andreas Tobler <a.tobler@schweiz.ch>
3381
* testsuite/libffi.call/cls_5_1_byte.c: New test file.
3382
* testsuite/libffi.call/cls_6_1_byte.c: Likewise.
3383
* testsuite/libffi.call/cls_7_1_byte.c: Likewise.
3385
2005-07-05 Randolph Chung <tausq@debian.org>
3387
* src/pa/ffi.c (ffi_struct_type): Rename FFI_TYPE_SMALL_STRUCT1
3388
as FFI_TYPE_SMALL_STRUCT3. Break out handling for 5-7 byte
3389
structures. Kill compilation warnings.
3390
(ffi_closure_inner_LINUX): Print return values as hex in debug
3391
message. Rename FFI_TYPE_SMALL_STRUCT1 as FFI_TYPE_SMALL_STRUCT3.
3392
Properly handle 5-7 byte structure returns.
3393
* src/pa/ffitarget.h (FFI_TYPE_SMALL_STRUCT1)
3394
(FFI_TYPE_SMALL_STRUCT2): Remove.
3395
(FFI_TYPE_SMALL_STRUCT3, FFI_TYPE_SMALL_STRUCT5)
3396
(FFI_TYPE_SMALL_STRUCT6, FFI_TYPE_SMALL_STRUCT7): Define.
3397
* src/pa/linux.S: Mark source file as using PA1.1 assembly.
3398
(checksmst1, checksmst2): Remove.
3399
(checksmst3): Optimize handling of 3-byte struct returns.
3400
(checksmst567): Properly handle 5-7 byte struct returns.
3402
2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3405
* src/mips/n32.S: Enforce PIC code.
3406
* src/mips/o32.S: Likewise.
3408
2005-06-15 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3410
* configure.ac: Treat i*86-*-solaris2.10 and up as X86_64.
3411
* configure: Regenerate.
3413
2005-06-01 Alan Modra <amodra@bigpond.net.au>
3415
* src/powerpc/ppc_closure.S (ffi_closure_SYSV): Don't use JUMPTARGET
3416
to call ffi_closure_helper_SYSV. Append @local instead.
3417
* src/powerpc/sysv.S (ffi_call_SYSV): Likewise for ffi_prep_args_SYSV.
3419
2005-05-17 Kelley Cook <kcook@gcc.gnu.org>
3421
* configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
3422
Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
3423
* Makefile.am (ACLOCAL_AMFLAGS): Remove -I ../config.
3424
* aclocal.m4, configure, fficonfig.h.in, Makefile.in,
3425
include/Makefile.in, testsuite/Makefile.in: Regenerate.
3427
2005-05-09 Mike Stump <mrs@apple.com>
3429
* configure: Regenerate.
3431
2005-05-08 Richard Henderson <rth@redhat.com>
3434
* src/alpha/osf.S: Update unwind into to match code.
3436
2005-05-04 Andreas Degert <ad@papyrus-gmbh.de>
3437
Richard Henderson <rth@redhat.com>
3439
* src/x86/ffi64.c (ffi_prep_cif_machdep): Save sse-used flag in
3441
(ffi_call): Mask return type field. Pass ssecount to ffi_call_unix64.
3442
(ffi_prep_closure): Set carry bit if sse-used flag set.
3443
* src/x86/unix64.S (ffi_call_unix64): Add ssecount argument.
3444
Only load sse registers if ssecount non-zero.
3445
(ffi_closure_unix64): Only save sse registers if carry set on entry.
3447
2005-04-29 Ralf Corsepius <ralf.corsepius@rtems.org>
3449
* configure.ac: Add i*86-*-rtems*, sparc*-*-rtems*,
3450
powerpc-*rtems*, arm*-*-rtems*, sh-*-rtems*.
3451
* configure: Regenerate.
3453
2005-04-20 Hans-Peter Nilsson <hp@axis.com>
3455
* testsuite/lib/libffi-dg.exp (libffi-dg-test-1): In regsub use,
3456
have Tcl8.3-compatible intermediate variable.
3458
2005-04-18 Simon Posnjak <simon.posnjak@siol.net>
3459
Hans-Peter Nilsson <hp@axis.com>
3461
* Makefile.am: Add CRIS support.
3462
* configure.ac: Likewise.
3463
* Makefile.in, configure, testsuite/Makefile.in,
3464
include/Makefile.in: Regenerate.
3465
* src/cris: New directory.
3466
* src/cris/ffi.c, src/cris/sysv.S, src/cris/ffitarget.h: New files.
3467
* src/prep_cif.c (ffi_prep_cif): Wrap in #ifndef __CRIS__.
3469
* testsuite/lib/libffi-dg.exp (libffi-dg-test-1): Replace \n with
3470
\r?\n in output tests.
3472
2005-04-12 Mike Stump <mrs@apple.com>
3474
* configure: Regenerate.
3476
2005-03-30 Hans Boehm <Hans.Boehm@hp.com>
3478
* src/ia64/ffitarget.h (ffi_arg): Use long long instead of DI.
3480
2005-03-30 Steve Ellcey <sje@cup.hp.com>
3482
* src/ia64/ffitarget.h (ffi_arg) ADD DI attribute.
3484
* src/ia64/unix.S (ffi_closure_unix): Extend gp
3485
to 64 bits in ILP32 mode.
3486
Load 64 bits even for short data.
3488
2005-03-23 Mike Stump <mrs@apple.com>
3490
* src/powerpc/darwin.S: Update for -m64 multilib.
3491
* src/powerpc/darwin_closure.S: Likewise.
3493
2005-03-21 Zack Weinberg <zack@codesourcery.com>
3495
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
3496
Do not set tool_include_dir.
3497
* aclocal.m4, configure, Makefile.in, testsuite/Makefile.in:
3499
* include/Makefile.am: Set gcc_version and toollibffidir.
3500
* include/Makefile.in: Regenerate.
3502
2005-02-22 Andrew Haley <aph@redhat.com>
3504
* src/powerpc/ffi.c (ffi_prep_cif_machdep): Bump alignment to
3505
odd-numbered register pairs for 64-bit integer types.
3507
2005-02-23 Andreas Tobler <a.tobler@schweiz.ch>
3510
* testsuite/libffi.call/return_ll1.c: New test case.
3512
2005-02-11 Janis Johnson <janis187@us.ibm.com>
3514
* testsuite/libffi.call/cls_align_longdouble.c: Remove dg-options.
3515
* testsuite/libffi.call/float.c: Ditto.
3516
* testsuite/libffi.call/float2.c: Ditto.
3517
* testsuite/libffi.call/float3.c: Ditto.
3519
2005-02-08 Andreas Tobler <a.tobler@schweiz.ch>
3521
* src/frv/ffitarget.h: Remove PPC stuff which does not belong to frv.
3523
2005-01-12 Eric Botcazou <ebotcazou@libertysurf.fr>
3525
* testsuite/libffi.special/special.exp (cxx_options): Add
3528
2004-12-31 Richard Henderson <rth@redhat.com>
3530
* src/types.c (FFI_AGGREGATE_TYPEDEF): Remove.
3531
(FFI_TYPEDEF): Rename from FFI_INTEGRAL_TYPEDEF. Replace size and
3532
offset parameters with a type parameter; deduce size and structure
3533
alignment. Update all users.
3535
2004-12-31 Richard Henderson <rth@redhat.com>
3537
* src/types.c (FFI_TYPE_POINTER): Define with sizeof.
3538
(FFI_TYPE_LONGDOUBLE): Fix for ia64.
3539
* src/ia64/ffitarget.h (struct ffi_ia64_trampoline_struct): Move
3540
into ffi_prep_closure.
3541
* src/ia64/ia64_flags.h, src/ia64/ffi.c, src/ia64/unix.S: Rewrite
3544
2004-12-27 Richard Henderson <rth@redhat.com>
3546
* src/x86/unix64.S: Fix typo in unwind info.
3548
2004-12-25 Richard Henderson <rth@redhat.com>
3550
* src/x86/ffi64.c (struct register_args): Rename from stackLayout.
3551
(enum x86_64_reg_class): Add X86_64_COMPLEX_X87_CLASS.
3552
(merge_classes): Check for it.
3554
(classify_argument): Pass byte_offset by value; perform all updates
3556
(examine_argument): Add classes argument; handle
3557
X86_64_COMPLEX_X87_CLASS.
3558
(ffi_prep_args): Merge into ...
3559
(ffi_call): ... here. Share stack frame with ffi_call_unix64.
3560
(ffi_prep_cif_machdep): Setup cif->flags for proper structure return.
3561
(ffi_fill_return_value): Remove.
3562
(ffi_prep_closure): Remove dead assert.
3563
(ffi_closure_unix64_inner): Rename from ffi_closure_UNIX64_inner.
3564
Rewrite to use struct register_args instead of va_list. Create
3565
flags for handling structure returns.
3566
* src/x86/unix64.S: Remove dead strings.
3567
(ffi_call_unix64): Rename from ffi_call_UNIX64. Rewrite to share
3568
stack frame with ffi_call. Handle structure returns properly.
3569
(float2sse, floatfloat2sse, double2sse): Remove.
3570
(sse2float, sse2double, sse2floatfloat): Remove.
3571
(ffi_closure_unix64): Rename from ffi_closure_UNIX64. Rewrite
3572
to handle structure returns properly.
3574
2004-12-08 David Edelsohn <edelsohn@gnu.org>
3576
* Makefile.am (AM_MAKEFLAGS): Remove duplicate LIBCFLAGS and
3578
* Makefile.in: Regenerated.
3580
2004-12-02 Richard Sandiford <rsandifo@redhat.com>
3582
* configure.ac: Use TL_AC_GCC_VERSION to set gcc_version.
3583
* configure, aclocal.m4, Makefile.in: Regenerate.
3584
* include/Makefile.in, testsuite/Makefile.in: Regenerate.
3586
2004-11-29 Kelley Cook <kcook@gcc.gnu.org>
3588
* configure: Regenerate for libtool change.
3590
2004-11-25 Kelley Cook <kcook@gcc.gnu.org>
3592
* configure: Regenerate for libtool reversion.
3594
2004-11-24 Kelley Cook <kcook@gcc.gnu.org>
3596
* configure: Regenerate for libtool change.
3598
2004-11-23 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3600
* testsuite/lib/libffi-dg.exp: Use new procs in target-libpath.exp.
3602
2004-11-23 Richard Sandiford <rsandifo@redhat.com>
3604
* src/mips/o32.S (ffi_call_O32, ffi_closure_O32): Use jalr instead
3605
of jal. Use an absolute encoding for the frame information.
3607
2004-11-23 Kelley Cook <kcook@gcc.gnu.org>
3609
* Makefile.am: Remove no-dependencies. Add ACLOCAL_AMFLAGS.
3610
* acinclude.m4: Delete logic for sincludes.
3611
* aclocal.m4, Makefile.in, configure: Regenerate.
3612
* include/Makefile: Likewise.
3613
* testsuite/Makefile: Likewise.
3615
2004-11-22 Eric Botcazou <ebotcazou@libertysurf.fr>
3617
* src/sparc/ffi.c (ffi_prep_closure): Align doubles and 64-bit integers
3618
on a 8-byte boundary.
3619
* src/sparc/v8.S (ffi_closure_v8): Reserve frame space for arguments.
3621
2004-10-27 Richard Earnshaw <rearnsha@arm.com>
3623
* src/arm/ffi.c (ffi_prep_cif_machdep): Handle functions that return
3624
long long values. Round stack allocation to a multiple of 8 bytes
3625
for ATPCS compatibility.
3626
* src/arm/sysv.S (ffi_call_SYSV): Rework to avoid use of APCS register
3627
names. Handle returning long long types. Add Thumb and interworking
3628
support. Improve soft-float code.
3630
2004-10-27 Richard Earnshaw <rearnsha@arm.com>
3632
* testsuite/lib/libffi-db.exp (load_gcc_lib): New function.
3633
(libffi_exit): New function.
3634
(libffi_init): Build the testglue wrapper if needed.
3636
2004-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
3639
* testsuite/lib/libffi-dg.exp: Accept more than one multilib libgcc.
3641
2004-10-25 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
3643
* src/m32r/libffitarget.h (FFI_CLOSURES): Set to 0.
3645
2004-10-20 Kaz Kojima <kkojima@gcc.gnu.org>
3647
* src/sh/sysv.S (ffi_call_SYSV): Don't align for double data.
3648
* testsuite/libffi.call/float3.c: New test case.
3650
2004-10-18 Kaz Kojima <kkojima@gcc.gnu.org>
3652
* src/sh/ffi.c (ffi_prep_closure): Set T bit in trampoline for
3653
the function returning a structure pointed with R2.
3654
* src/sh/sysv.S (ffi_closure_SYSV): Use R2 as the pointer to
3655
the structure return value if T bit set. Emit position
3656
independent code and EH data if PIC.
3658
2004-10-13 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
3660
* Makefile.am: Add m32r support.
3661
* configure.ac: Likewise.
3662
* Makefile.in: Regenerate.
3663
* confiugre: Regenerate.
3664
* src/types.c: Add m32r port to FFI_INTERNAL_TYPEDEF
3665
(uint64, sint64, double, longdouble)
3666
* src/m32r: New directory.
3667
* src/m32r/ffi.c: New file.
3668
* src/m32r/sysv.S: Likewise.
3669
* src/m32r/ffitarget.h: Likewise.
3671
2004-10-02 Kaz Kojima <kkojima@gcc.gnu.org>
3673
* testsuite/libffi.call/negint.c: New test case.
3675
2004-09-14 H.J. Lu <hongjiu.lu@intel.com>
3678
* testsuite/lib/libffi-dg.exp: Don't use global ld_library_path.
3679
Set up LD_LIBRARY_PATH, SHLIB_PATH, LD_LIBRARYN32_PATH,
3680
LD_LIBRARY64_PATH, LD_LIBRARY_PATH_32, LD_LIBRARY_PATH_64 and
3683
2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
3685
* testsuite/libffi.call/many_win32.c: Remove whitespaces.
3686
* testsuite/libffi.call/promotion.c: Likewise.
3687
* testsuite/libffi.call/return_ll.c: Remove unused var. Cleanup
3689
* testsuite/libffi.call/return_sc.c: Likewise.
3690
* testsuite/libffi.call/return_uc.c: Likewise.
3692
2004-09-05 Andreas Tobler <a.tobler@schweiz.ch>
3694
* src/powerpc/darwin.S: Fix comments and identation.
3695
* src/powerpc/darwin_closure.S: Likewise.
3697
2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
3699
* src/powerpc/ffi_darwin.c: Add flag for longdouble return values.
3700
(ffi_prep_args): Handle longdouble arguments.
3701
(ffi_prep_cif_machdep): Set flags for longdouble. Calculate space for
3703
(ffi_closure_helper_DARWIN): Add closure handling for longdouble.
3704
* src/powerpc/darwin.S (_ffi_call_DARWIN): Add handling of longdouble
3706
* src/powerpc/darwin_closure.S (_ffi_closure_ASM): Likewise.
3707
* src/types.c: Defined longdouble size and alignment for darwin.
3709
2004-09-02 Andreas Tobler <a.tobler@schweiz.ch>
3711
* src/powerpc/aix.S: Remove whitespaces.
3712
* src/powerpc/aix_closure.S: Likewise.
3713
* src/powerpc/asm.h: Likewise.
3714
* src/powerpc/ffi.c: Likewise.
3715
* src/powerpc/ffitarget.h: Likewise.
3716
* src/powerpc/linux64.S: Likewise.
3717
* src/powerpc/linux64_closure.S: Likewise.
3718
* src/powerpc/ppc_closure.S: Likewise.
3719
* src/powerpc/sysv.S: Likewise.
3721
2004-08-30 Anthony Green <green@redhat.com>
3723
* Makefile.am: Add frv support.
3724
* Makefile.in, testsuite/Makefile.in: Rebuilt.
3725
* configure.ac: Read configure.host.
3726
* configure.in: Read configure.host.
3727
* configure.host: New file. frv-elf needs libgloss.
3728
* include/ffi.h.in: Force ffi_closure to have a nice big (8)
3729
alignment. This is needed to frv and shouldn't harm the others.
3730
* include/ffi_common.h (ALIGN_DOWN): New macro.
3731
* src/frv/ffi.c, src/frv/ffitarget.h, src/frv/eabi.S: New files.
3733
2004-08-24 David Daney <daney@avtrex.com>
3735
* testsuite/libffi.call/closure_fn0.c: Xfail mips64* instead of mips*.
3736
* testsuite/libffi.call/closure_fn1.c: Likewise.
3737
* testsuite/libffi.call/closure_fn2.c Likewise.
3738
* testsuite/libffi.call/closure_fn3.c: Likewise.
3739
* testsuite/libffi.call/closure_fn4.c: Likewise.
3740
* testsuite/libffi.call/closure_fn5.c: Likewise.
3741
* testsuite/libffi.call/cls_18byte.c: Likewise.
3742
* testsuite/libffi.call/cls_19byte.c: Likewise.
3743
* testsuite/libffi.call/cls_1_1byte.c: Likewise.
3744
* testsuite/libffi.call/cls_20byte.c: Likewise.
3745
* testsuite/libffi.call/cls_20byte1.c: Likewise.
3746
* testsuite/libffi.call/cls_24byte.c: Likewise.
3747
* testsuite/libffi.call/cls_2byte.c: Likewise.
3748
* testsuite/libffi.call/cls_3_1byte.c: Likewise.
3749
* testsuite/libffi.call/cls_3byte1.c: Likewise.
3750
* testsuite/libffi.call/cls_3byte2.c: Likewise.
3751
* testsuite/libffi.call/cls_4_1byte.c: Likewise.
3752
* testsuite/libffi.call/cls_4byte.c: Likewise.
3753
* testsuite/libffi.call/cls_64byte.c: Likewise.
3754
* testsuite/libffi.call/cls_6byte.c: Likewise.
3755
* testsuite/libffi.call/cls_7byte.c: Likewise.
3756
* testsuite/libffi.call/cls_8byte.c: Likewise.
3757
* testsuite/libffi.call/cls_9byte1.c: Likewise.
3758
* testsuite/libffi.call/cls_9byte2.c: Likewise.
3759
* testsuite/libffi.call/cls_align_double.c: Likewise.
3760
* testsuite/libffi.call/cls_align_float.c: Likewise.
3761
* testsuite/libffi.call/cls_align_longdouble.c: Likewise.
3762
* testsuite/libffi.call/cls_align_pointer.c: Likewise.
3763
* testsuite/libffi.call/cls_align_sint16.c: Likewise.
3764
* testsuite/libffi.call/cls_align_sint32.c: Likewise.
3765
* testsuite/libffi.call/cls_align_sint64.c: Likewise.
3766
* testsuite/libffi.call/cls_align_uint16.c: Likewise.
3767
* testsuite/libffi.call/cls_align_uint32.c: Likewise.
3768
* testsuite/libffi.call/cls_align_uint64.c: Likewise.
3769
* testsuite/libffi.call/cls_double.c: Likewise.
3770
* testsuite/libffi.call/cls_float.c: Likewise.
3771
* testsuite/libffi.call/cls_multi_schar.c: Likewise.
3772
* testsuite/libffi.call/cls_multi_sshort.c: Likewise.
3773
* testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
3774
* testsuite/libffi.call/cls_multi_uchar.c: Likewise.
3775
* testsuite/libffi.call/cls_multi_ushort.c: Likewise.
3776
* testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
3777
* testsuite/libffi.call/cls_schar.c: Likewise.
3778
* testsuite/libffi.call/cls_sint.c: Likewise.
3779
* testsuite/libffi.call/cls_sshort.c: Likewise.
3780
* testsuite/libffi.call/cls_uchar.c: Likewise.
3781
* testsuite/libffi.call/cls_uint.c: Likewise.
3782
* testsuite/libffi.call/cls_ulonglong.c: Likewise.
3783
* testsuite/libffi.call/cls_ushort.c: Likewise.
3784
* testsuite/libffi.call/nested_struct.c: Likewise.
3785
* testsuite/libffi.call/nested_struct1.c: Likewise.
3786
* testsuite/libffi.call/nested_struct2.c: Likewise.
3787
* testsuite/libffi.call/nested_struct3.c: Likewise.
3788
* testsuite/libffi.call/problem1.c: Likewise.
3789
* testsuite/libffi.special/unwindtest.cc: Likewise.
3790
* testsuite/libffi.call/cls_12byte.c: Likewise and set return value
3792
* testsuite/libffi.call/cls_16byte.c: Likewise.
3793
* testsuite/libffi.call/cls_5byte.c: Likewise.
3795
2004-08-23 David Daney <daney@avtrex.com>
3798
* src/mips/ffitarget.h (FFI_O32_SOFT_FLOAT): New ABI.
3799
* src/mips/ffi.c (ffi_prep_args): Fix alignment calculation.
3800
(ffi_prep_cif_machdep): Handle FFI_O32_SOFT_FLOAT floating point
3801
parameters and return types.
3802
(ffi_call): Handle FFI_O32_SOFT_FLOAT ABI.
3803
(ffi_prep_closure): Ditto.
3804
(ffi_closure_mips_inner_O32): Handle FFI_O32_SOFT_FLOAT ABI, fix
3805
alignment calculations.
3806
* src/mips/o32.S (ffi_closure_O32): Don't use floating point
3807
instructions if FFI_O32_SOFT_FLOAT, make stack frame ABI compliant.
3809
2004-08-14 Casey Marshall <csm@gnu.org>
3811
* src/mips/ffi.c (ffi_pref_cif_machdep): set `cif->flags' to
3812
contain `FFI_TYPE_UINT64' as return type for any 64-bit
3813
integer (O32 ABI only).
3814
(ffi_prep_closure): new function.
3815
(ffi_closure_mips_inner_O32): new function.
3816
* src/mips/ffitarget.h: Define `FFI_CLOSURES' and
3817
`FFI_TRAMPOLINE_SIZE' appropriately if the ABI is o32.
3818
* src/mips/o32.S (ffi_call_O32): add labels for .eh_frame. Return
3819
64 bit integers correctly.
3820
(ffi_closure_O32): new function.
3821
Added DWARF-2 unwind info for both functions.
3823
2004-08-10 Andrew Haley <aph@redhat.com>
3825
* src/x86/ffi64.c (ffi_prep_args ): 8-align all stack arguments.
3827
2004-08-01 Robert Millan <robertmh@gnu.org>
3829
* configure.ac: Detect knetbsd-gnu and kfreebsd-gnu.
3830
* configure: Regenerate.
3832
2004-07-30 Maciej W. Rozycki <macro@linux-mips.org>
3834
* acinclude.m4 (AC_FUNC_MMAP_BLACKLIST): Check for <sys/mman.h>
3835
and mmap() explicitly instead of relying on preset autoconf cache
3837
* aclocal.m4: Regenerate.
3838
* configure: Regenerate.
3840
2004-07-11 Ulrich Weigand <uweigand@de.ibm.com>
3842
* src/s390/ffi.c (ffi_prep_args): Fix C aliasing violation.
3843
(ffi_check_float_struct): Remove unused prototype.
3845
2004-06-30 Geoffrey Keating <geoffk@apple.com>
3847
* src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
3848
character on Darwin, use '\n\t' instead.
3850
2004-06-26 Matthias Klose <doko@debian.org>
3852
* libtool-version: Fix typo in revision/age.
3854
2004-06-17 Matthias Klose <doko@debian.org>
3856
* libtool-version: New.
3857
* Makefile.am (libffi_la_LDFLAGS): Use -version-info for soname.
3858
* Makefile.in: Regenerate.
3860
2004-06-15 Paolo Bonzini <bonzini@gnu.org>
3862
* Makefile.am: Remove useless multilib rules.
3863
* Makefile.in: Regenerate.
3864
* aclocal.m4: Regenerate with automake 1.8.5.
3865
* configure.ac: Remove useless multilib configury.
3866
* configure: Regenerate.
3868
2004-06-15 Paolo Bonzini <bonzini@gnu.org>
3870
* .cvsignore: New file.
3872
2004-06-10 Jakub Jelinek <jakub@redhat.com>
3874
* src/ia64/unix.S (ffi_call_unix): Insert group barrier break
3876
(ffi_closure_UNIX): Fix f14/f15 adjustment if FLOAT_SZ is ever
3879
2004-06-06 Sean McNeil <sean@mcneil.com>
3881
* configure.ac: Add x86_64-*-freebsd* support.
3882
* configure: Regenerate.
3884
2004-04-26 Joe Buck <jbuck@welsh-buck.org>
3887
* configure.ac: Test for existence of mmap and sys/mman.h before
3888
checking blacklist. Fix suggested by Jim Wilson.
3889
* configure: Regenerate.
3891
2004-04-26 Matt Austern <austern@apple.com>
3893
* src/powerpc/darwin.S: Go through a non-lazy pointer for initial
3895
* src/powerpc/darwin_closure.S: Likewise.
3897
2004-04-24 Andreas Tobler <a.tobler@schweiz.ch>
3899
* testsuite/libffi.call/cls_multi_schar.c (main): Fix initialization
3900
error. Reported by Thomas Heller <theller@python.net>.
3901
* testsuite/libffi.call/cls_multi_sshort.c (main): Likewise.
3902
* testsuite/libffi.call/cls_multi_ushort.c (main): Likewise.
3904
2004-03-20 Matthias Klose <doko@debian.org>
3906
* src/pa/linux.S: Fix typo.
3908
2004-03-19 Matthias Klose <doko@debian.org>
3910
* Makefile.am: Update.
3911
* Makefile.in: Regenerate.
3912
* src/pa/ffi.h.in: Remove.
3913
* src/pa/ffitarget.h: New file.
3915
2004-02-10 Randolph Chung <tausq@debian.org>
3917
* Makefile.am: Add PA support.
3918
* Makefile.in: Regenerate.
3919
* include/Makefile.in: Regenerate.
3920
* configure.ac: Add PA target.
3921
* configure: Regenerate.
3922
* src/pa/ffi.c: New file.
3923
* src/pa/ffi.h.in: Add PA support.
3924
* src/pa/linux.S: New file.
3925
* prep_cif.c: Add PA support.
3927
2004-03-16 Hosaka Yuji <hos@tamanegi.org>
3929
* src/types.c: Fix alignment size of X86_WIN32 case int64 and
3931
* src/x86/ffi.c (ffi_prep_args): Replace ecif->cif->rtype->type
3932
with ecif->cif->flags.
3933
(ffi_call, ffi_prep_incoming_args_SYSV): Replace cif->rtype->type
3935
(ffi_prep_cif_machdep): Add X86_WIN32 struct case.
3936
(ffi_closure_SYSV): Add 1 or 2-bytes struct case for X86_WIN32.
3937
* src/x86/win32.S (retstruct1b, retstruct2b, sc_retstruct1b,
3938
sc_retstruct2b): Add for 1 or 2-bytes struct case.
3940
2004-03-15 Kelley Cook <kcook@gcc.gnu.org>
3942
* configure.in: Rename file to ...
3943
* configure.ac: ... this.
3944
* fficonfig.h.in: Regenerate.
3945
* Makefile.in: Regenerate.
3946
* include/Makefile.in: Regenerate.
3947
* testsuite/Makefile.in: Regenerate.
3949
2004-03-12 Matt Austern <austern@apple.com>
3951
* src/powerpc/darwin.S: Fix EH information so it corresponds to
3952
changes in EH format resulting from addition of linkonce support.
3953
* src/powerpc/darwin_closure.S: Likewise.
3955
2004-03-11 Andreas Tobler <a.tobler@schweiz.ch>
3956
Paolo Bonzini <bonzini@gnu.org>
3958
* Makefile.am (AUTOMAKE_OPTIONS): Set them.
3959
Remove VPATH. Remove rules for object files. Remove multilib support.
3960
(AM_CCASFLAGS): Add.
3961
* configure.in (AC_CONFIG_HEADERS): Relace AM_CONFIG_HEADER.
3962
(AC_PREREQ): Bump version to 2.59.
3963
(AC_INIT): Fill with version info and bug address.
3964
(ORIGINAL_LD_FOR_MULTILIBS): Remove.
3965
(AM_ENABLE_MULTILIB): Use this instead of AC_ARG_ENABLE.
3966
De-precious CC so that the right flags are passed down to multilibs.
3967
(AC_MSG_ERROR): Replace obsolete macro AC_ERROR.
3968
(AC_CONFIG_FILES): Replace obsolete macro AC_LINK_FILES.
3969
(AC_OUTPUT): Reorganize the output with AC_CONFIG_COMMANDS.
3970
* configure: Rebuilt.
3971
* aclocal.m4: Likewise.
3972
* Makefile.in, include/Makefile.in, testsuite/Makefile.in: Likewise.
3973
* fficonfig.h.in: Likewise.
3975
2004-03-11 Andreas Schwab <schwab@suse.de>
3977
* src/ia64/ffi.c (ffi_prep_incoming_args_UNIX): Get floating point
3978
arguments from fp registers only for the first 8 parameter slots.
3979
Don't convert a float parameter when passed in memory.
3981
2004-03-09 Hans-Peter Nilsson <hp@axis.com>
3983
* configure: Regenerate for config/accross.m4 correction.
3985
2004-02-25 Matt Kraai <kraai@alumni.cmu.edu>
3987
* src/powerpc/ffi.c (ffi_prep_args_SYSV): Change
3988
ecif->cif->bytes to bytes.
3989
(ffi_prep_cif_machdep): Add braces around nested if statement.
3991
2004-02-09 Alan Modra <amodra@bigpond.net.au>
3993
* src/types.c (pointer): POWERPC64 has 8 byte pointers.
3995
* src/powerpc/ffi.c (ffi_prep_args64): Correct long double handling.
3996
(ffi_closure_helper_LINUX64): Fix typo.
3997
* testsuite/libffi.call/cls_align_longdouble.c: Pass -mlong-double-128
3999
* testsuite/libffi.call/float.c: Likewise.
4000
* testsuite/libffi.call/float2.c: Likewise.
4002
2004-02-08 Alan Modra <amodra@bigpond.net.au>
4004
* src/powerpc/ffi.c (ffi_prep_cif_machdep <FFI_LINUX64>): Correct
4005
long double function return and long double arg handling.
4006
(ffi_closure_helper_LINUX64): Formatting. Delete unused "ng" var.
4007
Use "end_pfr" instead of "nf". Correct long double handling.
4009
* src/powerpc/linux64.S (ffi_call_LINUX64): Save f2 long double
4011
* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Allocate
4012
space for long double return value. Adjust stack frame and offsets.
4013
Load f2 long double return.
4015
2004-02-07 Alan Modra <amodra@bigpond.net.au>
4017
* src/types.c: Use 16 byte long double for POWERPC64.
4019
2004-01-25 Eric Botcazou <ebotcazou@libertysurf.fr>
4021
* src/sparc/ffi.c (ffi_prep_args_v9): Shift the parameter array
4022
when the structure return address is passed in %o0.
4023
(ffi_V9_return_struct): Rename into ffi_v9_layout_struct.
4024
(ffi_v9_layout_struct): Align the field following a nested structure
4025
on a word boundary. Use memmove instead of memcpy.
4026
(ffi_call): Update call to ffi_V9_return_struct.
4027
(ffi_prep_closure): Define 'ctx' only for V8.
4028
(ffi_closure_sparc_inner): Clone into ffi_closure_sparc_inner_v8
4029
and ffi_closure_sparc_inner_v9.
4030
(ffi_closure_sparc_inner_v8): Return long doubles by reference.
4031
Always skip the structure return address. For structures and long
4032
doubles, copy the argument directly.
4033
(ffi_closure_sparc_inner_v9): Skip the structure return address only
4034
if required. Shift the maximum floating-point slot accordingly. For
4035
big structures, copy the argument directly; otherwise, left-justify the
4036
argument and call ffi_v9_layout_struct to lay out the structure on
4038
* src/sparc/v8.S: Undef STACKFRAME before defining it.
4039
(ffi_closure_v8): Pass the structure return address. Update call to
4040
ffi_closure_sparc_inner_v8. Short-circuit FFI_TYPE_INT handling.
4041
Skip the 'unimp' insn when returning long doubles and structures.
4042
* src/sparc/v9.S: Undef STACKFRAME before defining it.
4043
(ffi_closure_v9): Increase the frame size by 2 words. Short-circuit
4044
FFI_TYPE_INT handling. Load structures both in integers and
4045
floating-point registers on return.
4046
* README: Update status of the SPARC port.
4048
2004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
4050
* testsuite/libffi.call/pyobjc-tc.c (main): Treat result value
4052
* testsuite/libffi.call/struct3.c (main): Fix CHECK.
4054
2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
4056
* testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Treat result
4057
value as of type ffi_arg, not unsigned int.
4059
2004-01-21 Michael Ritzert <ritzert@t-online.de>
4061
* ffi64.c (ffi_prep_args): Cast the RHS of an assignment instead
4064
2004-01-12 Andreas Tobler <a.tobler@schweiz.ch>
4066
* testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_32 for
4069
2004-01-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4071
* testsuite/libffi.call/ffitest.h (allocate_mmap): Cast MAP_FAILED
4074
2003-12-10 Richard Henderson <rth@redhat.com>
4076
* testsuite/libffi.call/cls_align_pointer.c: Cast pointers to
4077
size_t instead of int.
4079
2003-12-04 Hosaka Yuji <hos@tamanegi.org>
4081
* testsuite/libffi.call/many_win32.c: Include <float.h>.
4082
* testsuite/libffi.call/many_win32.c (main): Replace variable
4083
int i with unsigned long ul.
4085
* testsuite/libffi.call/cls_align_uint64.c: New test case.
4086
* testsuite/libffi.call/cls_align_sint64.c: Likewise.
4087
* testsuite/libffi.call/cls_align_uint32.c: Likewise.
4088
* testsuite/libffi.call/cls_align_sint32.c: Likewise.
4089
* testsuite/libffi.call/cls_align_uint16.c: Likewise.
4090
* testsuite/libffi.call/cls_align_sint16.c: Likewise.
4091
* testsuite/libffi.call/cls_align_float.c: Likewise.
4092
* testsuite/libffi.call/cls_align_double.c: Likewise.
4093
* testsuite/libffi.call/cls_align_longdouble.c: Likewise.
4094
* testsuite/libffi.call/cls_align_pointer.c: Likewise.
4096
2003-12-02 Hosaka Yuji <hos@tamanegi.org>
4099
* src/x86/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV):
4100
Align arguments to 32 bits.
4102
2003-12-01 Andreas Tobler <a.tobler@schweiz.ch>
4105
* testsuite/libffi.call/cls_multi_sshort.c: New test case.
4106
* testsuite/libffi.call/cls_multi_sshortchar.c: Likewise.
4107
* testsuite/libffi.call/cls_multi_uchar.c: Likewise.
4108
* testsuite/libffi.call/cls_multi_schar.c: Likewise.
4109
* testsuite/libffi.call/cls_multi_ushortchar.c: Likewise.
4110
* testsuite/libffi.call/cls_multi_ushort.c: Likewise.
4112
* testsuite/libffi.special/unwindtest.cc: Cosmetics.
4114
2003-11-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4116
* testsuite/libffi.call/ffitest.h: Include <fcntl.h>.
4117
* testsuite/libffi.special/ffitestcxx.h: Likewise.
4119
2003-11-22 Andreas Tobler <a.tobler@schweiz.ch>
4121
* Makefile.in: Rebuilt.
4122
* configure: Likewise.
4123
* testsuite/libffi.special/unwindtest.cc: Convert the mmap to
4126
2003-11-21 Andreas Jaeger <aj@suse.de>
4127
Andreas Tobler <a.tobler@schweiz.ch>
4129
* acinclude.m4: Add AC_FUNC_MMAP_BLACKLIST.
4130
* configure.in: Call AC_FUNC_MMAP_BLACKLIST.
4131
* Makefile.in: Rebuilt.
4132
* aclocal.m4: Likewise.
4133
* configure: Likewise.
4134
* fficonfig.h.in: Likewise.
4135
* testsuite/lib/libffi-dg.exp: Add include dir.
4136
* testsuite/libffi.call/ffitest.h: Add MMAP definitions.
4137
* testsuite/libffi.special/ffitestcxx.h: Likewise.
4138
* testsuite/libffi.call/closure_fn0.c: Use MMAP functionality
4139
for ffi_closure if available.
4140
* testsuite/libffi.call/closure_fn1.c: Likewise.
4141
* testsuite/libffi.call/closure_fn2.c: Likewise.
4142
* testsuite/libffi.call/closure_fn3.c: Likewise.
4143
* testsuite/libffi.call/closure_fn4.c: Likewise.
4144
* testsuite/libffi.call/closure_fn5.c: Likewise.
4145
* testsuite/libffi.call/cls_12byte.c: Likewise.
4146
* testsuite/libffi.call/cls_16byte.c: Likewise.
4147
* testsuite/libffi.call/cls_18byte.c: Likewise.
4148
* testsuite/libffi.call/cls_19byte.c: Likewise.
4149
* testsuite/libffi.call/cls_1_1byte.c: Likewise.
4150
* testsuite/libffi.call/cls_20byte.c: Likewise.
4151
* testsuite/libffi.call/cls_20byte1.c: Likewise.
4152
* testsuite/libffi.call/cls_24byte.c: Likewise.
4153
* testsuite/libffi.call/cls_2byte.c: Likewise.
4154
* testsuite/libffi.call/cls_3_1byte.c: Likewise.
4155
* testsuite/libffi.call/cls_3byte1.c: Likewise.
4156
* testsuite/libffi.call/cls_3byte2.c: Likewise.
4157
* testsuite/libffi.call/cls_4_1byte.c: Likewise.
4158
* testsuite/libffi.call/cls_4byte.c: Likewise.
4159
* testsuite/libffi.call/cls_5byte.c: Likewise.
4160
* testsuite/libffi.call/cls_64byte.c: Likewise.
4161
* testsuite/libffi.call/cls_6byte.c: Likewise.
4162
* testsuite/libffi.call/cls_7byte.c: Likewise.
4163
* testsuite/libffi.call/cls_8byte.c: Likewise.
4164
* testsuite/libffi.call/cls_9byte1.c: Likewise.
4165
* testsuite/libffi.call/cls_9byte2.c: Likewise.
4166
* testsuite/libffi.call/cls_double.c: Likewise.
4167
* testsuite/libffi.call/cls_float.c: Likewise.
4168
* testsuite/libffi.call/cls_schar.c: Likewise.
4169
* testsuite/libffi.call/cls_sint.c: Likewise.
4170
* testsuite/libffi.call/cls_sshort.c: Likewise.
4171
* testsuite/libffi.call/cls_uchar.c: Likewise.
4172
* testsuite/libffi.call/cls_uint.c: Likewise.
4173
* testsuite/libffi.call/cls_ulonglong.c: Likewise.
4174
* testsuite/libffi.call/cls_ushort.c: Likewise.
4175
* testsuite/libffi.call/nested_struct.c: Likewise.
4176
* testsuite/libffi.call/nested_struct1.c: Likewise.
4177
* testsuite/libffi.call/nested_struct2.c: Likewise.
4178
* testsuite/libffi.call/nested_struct3.c: Likewise.
4179
* testsuite/libffi.call/problem1.c: Likewise.
4180
* testsuite/libffi.special/unwindtest.cc: Likewise.
4182
2003-11-20 Andreas Tobler <a.tobler@schweiz.ch>
4184
* testsuite/lib/libffi-dg.exp: Make the -lgcc_s conditional.
4186
2003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
4188
* testsuite/lib/libffi-dg.exp: Add DYLD_LIBRARY_PATH for darwin.
4189
Add -lgcc_s to additional flags.
4191
2003-11-12 Andreas Tobler <a.tobler@schweiz.ch>
4193
* configure.in, include/Makefile.am: PR libgcj/11147, install
4194
the ffitarget.h header file in a gcc versioned and target
4196
* configure: Regenerated.
4197
* Makefile.in, include/Makefile.in: Likewise.
4198
* testsuite/Makefile.in: Likewise.
4200
2003-11-09 Andreas Tobler <a.tobler@schweiz.ch>
4202
* testsuite/libffi.call/closure_fn0.c: Print result and check
4203
with dg-output to make debugging easier.
4204
* testsuite/libffi.call/closure_fn1.c: Likewise.
4205
* testsuite/libffi.call/closure_fn2.c: Likewise.
4206
* testsuite/libffi.call/closure_fn3.c: Likewise.
4207
* testsuite/libffi.call/closure_fn4.c: Likewise.
4208
* testsuite/libffi.call/closure_fn5.c: Likewise.
4209
* testsuite/libffi.call/cls_12byte.c: Likewise.
4210
* testsuite/libffi.call/cls_16byte.c: Likewise.
4211
* testsuite/libffi.call/cls_18byte.c: Likewise.
4212
* testsuite/libffi.call/cls_19byte.c: Likewise.
4213
* testsuite/libffi.call/cls_1_1byte.c: Likewise.
4214
* testsuite/libffi.call/cls_20byte.c: Likewise.
4215
* testsuite/libffi.call/cls_20byte1.c: Likewise.
4216
* testsuite/libffi.call/cls_24byte.c: Likewise.
4217
* testsuite/libffi.call/cls_2byte.c: Likewise.
4218
* testsuite/libffi.call/cls_3_1byte.c: Likewise.
4219
* testsuite/libffi.call/cls_3byte1.c: Likewise.
4220
* testsuite/libffi.call/cls_3byte2.c: Likewise.
4221
* testsuite/libffi.call/cls_4_1byte.c: Likewise.
4222
* testsuite/libffi.call/cls_4byte.c: Likewise.
4223
* testsuite/libffi.call/cls_5byte.c: Likewise.
4224
* testsuite/libffi.call/cls_64byte.c: Likewise.
4225
* testsuite/libffi.call/cls_6byte.c: Likewise.
4226
* testsuite/libffi.call/cls_7byte.c: Likewise.
4227
* testsuite/libffi.call/cls_8byte.c: Likewise.
4228
* testsuite/libffi.call/cls_9byte1.c: Likewise.
4229
* testsuite/libffi.call/cls_9byte2.c: Likewise.
4230
* testsuite/libffi.call/cls_double.c: Likewise.
4231
* testsuite/libffi.call/cls_float.c: Likewise.
4232
* testsuite/libffi.call/cls_schar.c: Likewise.
4233
* testsuite/libffi.call/cls_sint.c: Likewise.
4234
* testsuite/libffi.call/cls_sshort.c: Likewise.
4235
* testsuite/libffi.call/cls_uchar.c: Likewise.
4236
* testsuite/libffi.call/cls_uint.c: Likewise.
4237
* testsuite/libffi.call/cls_ulonglong.c: Likewise.
4238
* testsuite/libffi.call/cls_ushort.c: Likewise.
4239
* testsuite/libffi.call/problem1.c: Likewise.
4241
* testsuite/libffi.special/unwindtest.cc: Make ffi_closure
4244
2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
4246
* testsuite/libffi.call/cls_9byte2.c: New test case.
4247
* testsuite/libffi.call/cls_9byte1.c: Likewise.
4248
* testsuite/libffi.call/cls_64byte.c: Likewise.
4249
* testsuite/libffi.call/cls_20byte1.c: Likewise.
4250
* testsuite/libffi.call/cls_19byte.c: Likewise.
4251
* testsuite/libffi.call/cls_18byte.c: Likewise.
4252
* testsuite/libffi.call/closure_fn4.c: Likewise.
4253
* testsuite/libffi.call/closure_fn5.c: Likewise.
4254
* testsuite/libffi.call/cls_schar.c: Likewise.
4255
* testsuite/libffi.call/cls_sint.c: Likewise.
4256
* testsuite/libffi.call/cls_sshort.c: Likewise.
4257
* testsuite/libffi.call/nested_struct2.c: Likewise.
4258
* testsuite/libffi.call/nested_struct3.c: Likewise.
4260
2003-11-08 Andreas Tobler <a.tobler@schweiz.ch>
4262
* testsuite/libffi.call/cls_double.c: Do a check on the result.
4263
* testsuite/libffi.call/cls_uchar.c: Likewise.
4264
* testsuite/libffi.call/cls_uint.c: Likewise.
4265
* testsuite/libffi.call/cls_ulonglong.c: Likewise.
4266
* testsuite/libffi.call/cls_ushort.c: Likewise.
4267
* testsuite/libffi.call/return_sc.c: Cleanup whitespaces.
4269
2003-11-06 Andreas Tobler <a.tobler@schweiz.ch>
4271
* src/prep_cif.c (ffi_prep_cif): Move the validity check after
4274
2003-10-23 Andreas Tobler <a.tobler@schweiz.ch>
4276
* src/java_raw_api.c (ffi_java_ptrarray_to_raw): Replace
4277
FFI_ASSERT(FALSE) with FFI_ASSERT(0).
4279
2003-10-22 David Daney <ddaney@avtrex.com>
4281
* src/mips/ffitarget.h: Replace undefined UINT32 and friends with
4282
__attribute__((__mode__(__SI__))) and friends.
4284
2003-10-22 Andreas Schwab <schwab@suse.de>
4286
* src/ia64/ffi.c: Replace FALSE/TRUE with false/true.
4288
2003-10-21 Andreas Tobler <a.tobler@schweiz.ch>
4290
* configure.in: AC_LINK_FILES(ffitarget.h).
4291
* configure: Regenerate.
4292
* Makefile.in: Likewise.
4293
* include/Makefile.in: Likewise.
4294
* testsuite/Makefile.in: Likewise.
4295
* fficonfig.h.in: Likewise.
4297
2003-10-21 Paolo Bonzini <bonzini@gnu.org>
4298
Richard Henderson <rth@redhat.com>
4300
Avoid that ffi.h includes fficonfig.h.
4302
* Makefile.am (EXTRA_DIST): Include ffitarget.h files
4303
(TARGET_SRC_MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
4304
(TARGET_SRC_MIPS_SGI): Removed.
4305
(MIPS_GCC): Renamed to TARGET_SRC_MIPS_IRIX.
4306
(MIPS_SGI): Removed.
4307
(CLEANFILES): Removed.
4308
(mostlyclean-am, clean-am, mostlyclean-sub, clean-sub): New
4310
* acconfig.h: Removed.
4311
* configure.in: Compute sizeofs only for double and long double.
4312
Use them to define and subst HAVE_LONG_DOUBLE. Include comments
4313
into AC_DEFINE instead of using acconfig.h. Create
4314
include/ffitarget.h instead of include/fficonfig.h. Rename
4315
MIPS_GCC to MIPS_IRIX, drop MIPS_SGI since we are in gcc's tree.
4316
AC_DEFINE EH_FRAME_FLAGS.
4317
* include/Makefile.am (DISTCLEANFILES): New automake macro.
4318
(hack_DATA): Add ffitarget.h.
4319
* include/ffi.h.in: Remove all system specific definitions.
4320
Declare raw API even if it is not installed, why bother?
4321
Use limits.h instead of SIZEOF_* to define ffi_type_*. Do
4322
not define EH_FRAME_FLAGS, it is in fficonfig.h now. Include
4323
ffitarget.h instead of fficonfig.h. Remove ALIGN macro.
4324
(UINT_ARG, INT_ARG): Removed, use ffi_arg and ffi_sarg instead.
4325
* include/ffi_common.h (bool): Do not define.
4326
(ffi_assert): Accept failed assertion.
4327
(ffi_type_test): Return void and accept file/line.
4328
(FFI_ASSERT): Pass stringized failed assertion.
4329
(FFI_ASSERT_AT): New macro.
4330
(FFI_ASSERT_VALID_TYPE): New macro.
4331
(UINT8, SINT8, UINT16, SINT16, UINT32, SINT32,
4332
UINT64, SINT64): Define here with gcc's __attribute__ macro
4334
(FLOAT32, ALIGN): Define here instead of in ffi.h
4335
* include/ffi-mips.h: Removed. Its content moved to
4336
src/mips/ffitarget.h after separating assembly and C sections.
4337
* src/alpha/ffi.c, src/alpha/ffi.c, src/java_raw_api.c
4338
src/prep_cif.c, src/raw_api.c, src/ia64/ffi.c,
4339
src/mips/ffi.c, src/mips/n32.S, src/mips/o32.S,
4340
src/mips/ffitarget.h, src/sparc/ffi.c, src/x86/ffi64.c:
4341
SIZEOF_ARG -> FFI_SIZEOF_ARG.
4342
* src/ia64/ffi.c: Include stdbool.h (provided by GCC 2.95+).
4343
* src/debug.c (ffi_assert): Accept stringized failed assertion.
4344
(ffi_type_test): Rewritten.
4345
* src/prep-cif.c (initialize_aggregate, ffi_prep_cif): Call
4346
FFI_ASSERT_VALID_TYPE.
4347
* src/alpha/ffitarget.h, src/arm/ffitarget.h,
4348
src/ia64/ffitarget.h, src/m68k/ffitarget.h,
4349
src/mips/ffitarget.h, src/powerpc/ffitarget.h,
4350
src/s390/ffitarget.h, src/sh/ffitarget.h,
4351
src/sh64/ffitarget.h, src/sparc/ffitarget.h,
4352
src/x86/ffitarget.h: New files.
4353
* src/alpha/osf.S, src/arm/sysv.S, src/ia64/unix.S,
4354
src/m68k/sysv.S, src/mips/n32.S, src/mips/o32.S,
4355
src/powerpc/aix.S, src/powerpc/darwin.S,
4356
src/powerpc/ffi_darwin.c, src/powerpc/linux64.S,
4357
src/powerpc/linux64_closure.S, src/powerpc/ppc_closure.S,
4358
src/powerpc/sysv.S, src/s390/sysv.S, src/sh/sysv.S,
4359
src/sh64/sysv.S, src/sparc/v8.S, src/sparc/v9.S,
4360
src/x86/sysv.S, src/x86/unix64.S, src/x86/win32.S:
4363
2003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4365
* src/mips/ffi.c: Use _ABIN32, _ABIO32 instead of external
4366
_MIPS_SIM_NABI32, _MIPS_SIM_ABI32.
4368
2003-10-19 Andreas Tobler <a.tobler@schweiz.ch>
4370
* src/powerpc/ffi_darwin.c (ffi_prep_args): Declare bytes again.
4371
Used when FFI_DEBUG = 1.
4373
2003-10-14 Alan Modra <amodra@bigpond.net.au>
4375
* src/types.c (double, longdouble): Default POWERPC64 to 8 byte size
4378
2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4380
* include/ffi_mips.h: Define FFI_MIPS_N32 for N32/N64 ABIs,
4381
FFI_MIPS_O32 for O32 ABI.
4383
2003-10-01 Andreas Tobler <a.tobler@schweiz.ch>
4385
* testsuite/lib/libffi-dg.exp: Set LD_LIBRARY_PATH_64 for
4386
SPARC64. Cleanup whitespaces.
4388
2003-09-19 Andreas Tobler <a.tobler@schweiz.ch>
4390
* testsuite/libffi.call/closure_fn0.c: Xfail mips, arm,
4391
strongarm, xscale. Cleanup whitespaces.
4392
* testsuite/libffi.call/closure_fn1.c: Likewise.
4393
* testsuite/libffi.call/closure_fn2.c: Likewise.
4394
* testsuite/libffi.call/closure_fn3.c: Likewise.
4395
* testsuite/libffi.call/cls_12byte.c: Likewise.
4396
* testsuite/libffi.call/cls_16byte.c: Likewise.
4397
* testsuite/libffi.call/cls_1_1byte.c: Likewise.
4398
* testsuite/libffi.call/cls_20byte.c: Likewise.
4399
* testsuite/libffi.call/cls_24byte.c: Likewise.
4400
* testsuite/libffi.call/cls_2byte.c: Likewise.
4401
* testsuite/libffi.call/cls_3_1byte.c: Likewise.
4402
* testsuite/libffi.call/cls_3byte1.c: Likewise.
4403
* testsuite/libffi.call/cls_3byte2.c: Likewise.
4404
* testsuite/libffi.call/cls_4_1byte.c: Likewise.
4405
* testsuite/libffi.call/cls_4byte.c: Likewise.
4406
* testsuite/libffi.call/cls_5byte.c: Likewise.
4407
* testsuite/libffi.call/cls_6byte.c: Likewise.
4408
* testsuite/libffi.call/cls_7byte.c: Likewise.
4409
* testsuite/libffi.call/cls_8byte.c: Likewise.
4410
* testsuite/libffi.call/cls_double.c: Likewise.
4411
* testsuite/libffi.call/cls_float.c: Likewise.
4412
* testsuite/libffi.call/cls_uchar.c: Likewise.
4413
* testsuite/libffi.call/cls_uint.c: Likewise.
4414
* testsuite/libffi.call/cls_ulonglong.c: Likewise.
4415
* testsuite/libffi.call/cls_ushort.c: Likewise.
4416
* testsuite/libffi.call/nested_struct.c: Likewise.
4417
* testsuite/libffi.call/nested_struct1.c: Likewise.
4418
* testsuite/libffi.call/problem1.c: Likewise.
4419
* testsuite/libffi.special/unwindtest.cc: Likewise.
4420
* testsuite/libffi.call/pyobjc-tc.c: Cleanup whitespaces.
4422
2003-09-18 David Edelsohn <edelsohn@gnu.org>
4424
* src/powerpc/aix.S: Cleanup whitespaces.
4425
* src/powerpc/aix_closure.S: Likewise.
4427
2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
4429
* src/powerpc/darwin.S: Cleanup whitespaces, comment formatting.
4430
* src/powerpc/darwin_closure.S: Likewise.
4431
* src/powerpc/ffi_darwin.c: Likewise.
4433
2003-09-18 Andreas Tobler <a.tobler@schweiz.ch>
4434
David Edelsohn <edelsohn@gnu.org>
4436
* src/types.c (double): Add AIX and Darwin to the right TYPEDEF.
4437
* src/powerpc/aix_closure.S: Remove the pointer to the outgoing
4439
* src/powerpc/darwin_closure.S: Likewise.
4440
* src/powerpc/ffi_darwin.c (ffi_prep_args): Handle structures
4441
according to the Darwin/AIX ABI.
4442
(ffi_prep_cif_machdep): Likewise.
4443
(ffi_closure_helper_DARWIN): Likewise.
4444
Remove the outgoing parameter stack logic. Simplify the evaluation
4445
of the different CASE types.
4446
(ffi_prep_clousure): Avoid the casts on lvalues. Change the branch
4447
statement in the trampoline code.
4449
2003-09-18 Kaz Kojima <kkojima@gcc.gnu.org>
4451
* src/sh/ffi.c (ffi_prep_args): Take account into the alignement
4452
for the register size.
4453
(ffi_closure_helper_SYSV): Handle the structure return value
4455
(ffi_closure_helper_SYSV): Return the appropriate type when
4456
the registers are used for the structure return value.
4457
* src/sh/sysv.S (ffi_closure_SYSV): Fix the stack layout for
4458
the 64-bit return value. Update copyright years.
4460
2003-09-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4462
* testsuite/lib/libffi-dg.exp (libffi_target_compile): Search in
4463
srcdir for ffi_mips.h.
4465
2003-09-12 Alan Modra <amodra@bigpond.net.au>
4467
* src/prep_cif.c (initialize_aggregate): Include tail padding in
4469
* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
4470
placement of float result.
4471
* testsuite/libffi.special/unwindtest.cc (closure_test_fn1): Correct
4472
cast of "resp" for big-endian 64 bit machines.
4474
2003-09-11 Alan Modra <amodra@bigpond.net.au>
4476
* src/types.c (double, longdouble): Merge identical SH and ARM
4477
typedefs, and add POWERPC64.
4478
* src/powerpc/ffi.c (ffi_prep_args64): Correct next_arg calc for
4479
struct split over gpr and rest.
4480
(ffi_prep_cif_machdep): Correct intarg_count for structures.
4481
* src/powerpc/linux64.S (ffi_call_LINUX64): Fix gpr offsets.
4483
2003-09-09 Andreas Tobler <a.tobler@schweiz.ch>
4485
* src/powerpc/ffi.c (ffi_closure_helper_SYSV) Handle struct
4488
2003-09-09 Alan Modra <amodra@bigpond.net.au>
4490
* configure: Regenerate.
4492
2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
4494
* Makefile.am: Remove build rules for ffitest.
4495
* Makefile.in: Rebuilt.
4497
2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
4499
* src/java_raw_api.c: Include <stdlib.h> to fix compiler warning
4500
about implicit declaration of abort().
4502
2003-09-04 Andreas Tobler <a.tobler@schweiz.ch>
4504
* Makefile.am: Add dejagnu test framework. Fixes PR other/11411.
4505
* Makefile.in: Rebuilt.
4506
* configure.in: Add dejagnu test framework.
4507
* configure: Rebuilt.
4509
* testsuite/Makefile.am: New file.
4510
* testsuite/Makefile.in: Built
4511
* testsuite/lib/libffi-dg.exp: New file.
4512
* testsuite/config/default.exp: Likewise.
4513
* testsuite/libffi.call/call.exp: Likewise.
4514
* testsuite/libffi.call/ffitest.h: Likewise.
4515
* testsuite/libffi.call/closure_fn0.c: Likewise.
4516
* testsuite/libffi.call/closure_fn1.c: Likewise.
4517
* testsuite/libffi.call/closure_fn2.c: Likewise.
4518
* testsuite/libffi.call/closure_fn3.c: Likewise.
4519
* testsuite/libffi.call/cls_1_1byte.c: Likewise.
4520
* testsuite/libffi.call/cls_3_1byte.c: Likewise.
4521
* testsuite/libffi.call/cls_4_1byte.c: Likewise.
4522
* testsuite/libffi.call/cls_2byte.c: Likewise.
4523
* testsuite/libffi.call/cls_3byte1.c: Likewise.
4524
* testsuite/libffi.call/cls_3byte2.c: Likewise.
4525
* testsuite/libffi.call/cls_4byte.c: Likewise.
4526
* testsuite/libffi.call/cls_5byte.c: Likewise.
4527
* testsuite/libffi.call/cls_6byte.c: Likewise.
4528
* testsuite/libffi.call/cls_7byte.c: Likewise.
4529
* testsuite/libffi.call/cls_8byte.c: Likewise.
4530
* testsuite/libffi.call/cls_12byte.c: Likewise.
4531
* testsuite/libffi.call/cls_16byte.c: Likewise.
4532
* testsuite/libffi.call/cls_20byte.c: Likewise.
4533
* testsuite/libffi.call/cls_24byte.c: Likewise.
4534
* testsuite/libffi.call/cls_double.c: Likewise.
4535
* testsuite/libffi.call/cls_float.c: Likewise.
4536
* testsuite/libffi.call/cls_uchar.c: Likewise.
4537
* testsuite/libffi.call/cls_uint.c: Likewise.
4538
* testsuite/libffi.call/cls_ulonglong.c: Likewise.
4539
* testsuite/libffi.call/cls_ushort.c: Likewise.
4540
* testsuite/libffi.call/float.c: Likewise.
4541
* testsuite/libffi.call/float1.c: Likewise.
4542
* testsuite/libffi.call/float2.c: Likewise.
4543
* testsuite/libffi.call/many.c: Likewise.
4544
* testsuite/libffi.call/many_win32.c: Likewise.
4545
* testsuite/libffi.call/nested_struct.c: Likewise.
4546
* testsuite/libffi.call/nested_struct1.c: Likewise.
4547
* testsuite/libffi.call/pyobjc-tc.c: Likewise.
4548
* testsuite/libffi.call/problem1.c: Likewise.
4549
* testsuite/libffi.call/promotion.c: Likewise.
4550
* testsuite/libffi.call/return_ll.c: Likewise.
4551
* testsuite/libffi.call/return_sc.c: Likewise.
4552
* testsuite/libffi.call/return_uc.c: Likewise.
4553
* testsuite/libffi.call/strlen.c: Likewise.
4554
* testsuite/libffi.call/strlen_win32.c: Likewise.
4555
* testsuite/libffi.call/struct1.c: Likewise.
4556
* testsuite/libffi.call/struct2.c: Likewise.
4557
* testsuite/libffi.call/struct3.c: Likewise.
4558
* testsuite/libffi.call/struct4.c: Likewise.
4559
* testsuite/libffi.call/struct5.c: Likewise.
4560
* testsuite/libffi.call/struct6.c: Likewise.
4561
* testsuite/libffi.call/struct7.c: Likewise.
4562
* testsuite/libffi.call/struct8.c: Likewise.
4563
* testsuite/libffi.call/struct9.c: Likewise.
4564
* testsuite/libffi.special/special.exp: New file.
4565
* testsuite/libffi.special/ffitestcxx.h: Likewise.
4566
* testsuite/libffi.special/unwindtest.cc: Likewise.
4569
2003-08-13 Kaz Kojima <kkojima@gcc.gnu.org>
4571
* src/sh/ffi.c (OFS_INT16): Set 0 for little endian case. Update
4574
2003-08-02 Alan Modra <amodra@bigpond.net.au>
4576
* src/powerpc/ffi.c (ffi_prep_args64): Modify for changed gcc
4578
(ffi_closure_helper_LINUX64): Likewise.
4579
* src/powerpc/linux64.S: Remove code writing to parm save area.
4580
* src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Use return
4581
address in lr from ffi_closure_helper_LINUX64 call to calculate
4582
table address. Optimize function tail.
4584
2003-07-28 Andreas Tobler <a.tobler@schweiz.ch>
4586
* src/sparc/ffi.c: Handle all floating point registers.
4587
* src/sparc/v9.S: Likewise. Fixes second part of PR target/11410.
4589
2003-07-11 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
4591
* README: Note that libffi is not part of GCC. Update the project
4594
2003-06-19 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4596
* src/powerpc/ppc_closure.S: Include ffi.h.
4598
2003-06-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4600
* src/x86/sysv.S: Avoid gas-only .uleb128/.sleb128 directives.
4601
Use C style comments.
4603
2003-06-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
4605
* Makefile.am: Add SHmedia support. Fix a typo of SH support.
4606
* Makefile.in: Regenerate.
4607
* configure.in (sh64-*-linux*, sh5*-*-linux*): Add target.
4608
* configure: Regenerate.
4609
* include/ffi.h.in: Add SHmedia support.
4610
* src/sh64/ffi.c: New file.
4611
* src/sh64/sysv.S: New file.
4613
2003-05-16 Jakub Jelinek <jakub@redhat.com>
4615
* configure.in (HAVE_RO_EH_FRAME): Check whether .eh_frame section
4616
should be read-only.
4617
* configure: Rebuilt.
4618
* fficonfig.h.in: Rebuilt.
4619
* include/ffi.h.in (EH_FRAME_FLAGS): Define.
4620
* src/alpha/osf.S: Use EH_FRAME_FLAGS.
4621
* src/powerpc/linux64.S: Likewise.
4622
* src/powerpc/linux64_closure.S: Likewise. Include ffi.h.
4623
* src/powerpc/sysv.S: Use EH_FRAME_FLAGS. Use pcrel encoding
4624
if -fpic/-fPIC/-mrelocatable.
4625
* src/powerpc/powerpc_closure.S: Likewise.
4626
* src/sparc/v8.S: If HAVE_RO_EH_FRAME is defined, don't include
4627
#write in .eh_frame flags.
4628
* src/sparc/v9.S: Likewise.
4629
* src/x86/unix64.S: Use EH_FRAME_FLAGS.
4630
* src/x86/sysv.S: Likewise. Use pcrel encoding if -fpic/-fPIC.
4631
* src/s390/sysv.S: Use EH_FRAME_FLAGS. Include ffi.h.
4633
2003-05-07 Jeff Sturm <jsturm@one-point.com>
4635
Fixes PR bootstrap/10656
4636
* configure.in (HAVE_AS_REGISTER_PSEUDO_OP): Test assembler
4637
support for .register pseudo-op.
4638
* src/sparc/v8.S: Use it.
4639
* fficonfig.h.in: Rebuilt.
4640
* configure: Rebuilt.
4642
2003-04-18 Jakub Jelinek <jakub@redhat.com>
4644
* include/ffi.h.in (POWERPC64): Define if 64-bit.
4645
(enum ffi_abi): Add FFI_LINUX64 on POWERPC.
4646
Make it the default on POWERPC64.
4647
(FFI_TRAMPOLINE_SIZE): Define to 24 on POWERPC64.
4648
* configure.in: Change powerpc-*-linux* into powerpc*-*-linux*.
4649
* configure: Rebuilt.
4650
* src/powerpc/ffi.c (hidden): Define.
4651
(ffi_prep_args_SYSV): Renamed from
4652
ffi_prep_args. Cast pointers to unsigned long to shut up warnings.
4653
(NUM_GPR_ARG_REGISTERS64, NUM_FPR_ARG_REGISTERS64,
4654
ASM_NEEDS_REGISTERS64): New.
4655
(ffi_prep_args64): New function.
4656
(ffi_prep_cif_machdep): Handle FFI_LINUX64 ABI.
4657
(ffi_call): Likewise.
4658
(ffi_prep_closure): Likewise.
4659
(flush_icache): Surround by #ifndef POWERPC64.
4660
(ffi_dblfl): New union type.
4661
(ffi_closure_helper_SYSV): Use it to avoid aliasing problems.
4662
(ffi_closure_helper_LINUX64): New function.
4663
* src/powerpc/ppc_closure.S: Surround whole file by #ifndef
4665
* src/powerpc/sysv.S: Likewise.
4666
(ffi_call_SYSV): Rename ffi_prep_args to ffi_prep_args_SYSV.
4667
* src/powerpc/linux64.S: New file.
4668
* src/powerpc/linux64_closure.S: New file.
4669
* Makefile.am (EXTRA_DIST): Add src/powerpc/linux64.S and
4670
src/powerpc/linux64_closure.S.
4671
(TARGET_SRC_POWERPC): Likewise.
4673
* src/ffitest.c (closure_test_fn, closure_test_fn1, closure_test_fn2,
4674
closure_test_fn3): Fix result printing on big-endian 64-bit
4676
(main): Print tst2_arg instead of uninitialized tst2_result.
4678
* src/ffitest.c (main): Hide what closure pointer really points to
4681
2003-04-16 Richard Earnshaw <rearnsha@arm.com>
4683
* configure.in (arm-*-netbsdelf*): Add configuration.
4684
(configure): Regenerated.
4686
2003-04-04 Loren J. Rittle <ljrittle@acm.org>
4688
* include/Makefile.in: Regenerate.
4690
2003-03-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
4692
* libffi/include/ffi.h.in: Define X86 instead of X86_64 in 32
4694
* libffi/src/x86/ffi.c (ffi_closure_SYSV, ffi_closure_raw_SYSV):
4695
Receive closure pointer through parameter, read args using
4696
__builtin_dwarf_cfa.
4697
(FFI_INIT_TRAMPOLINE): Send closure reference through eax.
4699
2003-03-12 Andreas Schwab <schwab@suse.de>
4701
* configure.in: Avoid trailing /. in toolexeclibdir.
4702
* configure: Rebuilt.
4704
2003-03-03 Andreas Tobler <a.tobler@schweiz.ch>
4706
* src/powerpc/darwin_closure.S: Recode to fit dynamic libraries.
4708
2003-02-06 Andreas Tobler <a.tobler@schweiz.ch>
4710
* libffi/src/powerpc/darwin_closure.S:
4711
Fix alignement bug, allocate 8 bytes for the result.
4712
* libffi/src/powerpc/aix_closure.S:
4714
* libffi/src/powerpc/ffi_darwin.c:
4715
Update stackframe description for aix/darwin_closure.S.
4717
2003-02-06 Jakub Jelinek <jakub@redhat.com>
4719
* src/s390/ffi.c (ffi_closure_helper_SYSV): Add hidden visibility
4722
2003-01-31 Christian Cornelssen <ccorn@cs.tu-berlin.de>,
4723
Andreas Schwab <schwab@suse.de>
4725
* configure.in: Adjust command to source config-ml.in to account
4726
for changes to the libffi_basedir definition.
4727
(libffi_basedir): Remove ${srcdir} from value and include trailing
4730
* configure: Regenerate.
4732
2003-01-29 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
4734
* src/powerpc/ppc_closure.S: Recode to fit shared libs.
4736
2003-01-28 Andrew Haley <aph@redhat.com>
4738
* include/ffi.h.in: Enable FFI_CLOSURES for x86_64.
4739
* src/x86/ffi64.c (ffi_prep_closure): New.
4740
(ffi_closure_UNIX64_inner): New.
4741
* src/x86/unix64.S (ffi_closure_UNIX64): New.
4743
2003-01-27 Alexandre Oliva <aoliva@redhat.com>
4745
* configure.in (toolexecdir, toolexeclibdir): Set and AC_SUBST.
4746
Remove USE_LIBDIR conditional.
4747
* Makefile.am (toolexecdir, toolexeclibdir): Don't override.
4748
* Makefile.in, configure: Rebuilt.
4750
2003-01027 David Edelsohn <edelsohn@gnu.org>
4752
* Makefile.am (TARGET_SRC_POWERPC_AIX): Fix typo.
4753
* Makefile.in: Regenerate.
4755
2003-01-22 Andrew Haley <aph@redhat.com>
4757
* src/powerpc/darwin.S (_ffi_call_AIX): Add Augmentation size to
4760
2003-01-21 Andreas Tobler <a.tobler@schweiz.ch>
4762
* src/powerpc/darwin.S: Add unwind info.
4763
* src/powerpc/darwin_closure.S: Likewise.
4765
2003-01-14 Andrew Haley <aph@redhat.com>
4767
* src/x86/ffi64.c (ffi_prep_args): Check for void retval.
4768
(ffi_prep_cif_machdep): Likewise.
4769
* src/x86/unix64.S: Add unwind info.
4771
2003-01-14 Andreas Jaeger <aj@suse.de>
4773
* src/ffitest.c (main): Only use ffi_closures if those are
4776
2003-01-13 Andreas Tobler <a.tobler@schweiz.ch>
4778
* libffi/src/ffitest.c
4779
add closure testcases
4781
2003-01-13 Kevin B. Hendricks <khendricks@ivey.uwo.ca>
4783
* libffi/src/powerpc/ffi.c
4784
fix alignment bug for float (4 byte aligned iso 8 byte)
4786
2003-01-09 Geoffrey Keating <geoffk@apple.com>
4788
* src/powerpc/ffi_darwin.c: Remove RCS version string.
4789
* src/powerpc/darwin.S: Remove RCS version string.
4791
2003-01-03 Jeff Sturm <jsturm@one-point.com>
4793
* include/ffi.h.in: Add closure defines for SPARC, SPARC64.
4794
* src/ffitest.c (main): Use static storage for closure.
4795
* src/sparc/ffi.c (ffi_prep_closure, ffi_closure_sparc_inner): New.
4796
* src/sparc/v8.S (ffi_closure_v8): New.
4797
* src/sparc/v9.S (ffi_closure_v9): New.
4799
2002-11-10 Ranjit Mathew <rmathew@hotmail.com>
4801
* include/ffi.h.in: Added FFI_STDCALL ffi_type
4802
enumeration for X86_WIN32.
4803
* src/x86/win32.S: Added ffi_call_STDCALL function
4805
* src/x86/ffi.c (ffi_call/ffi_raw_call): Added
4806
switch cases for recognising FFI_STDCALL and
4807
calling ffi_call_STDCALL if target is X86_WIN32.
4808
* src/ffitest.c (my_stdcall_strlen/stdcall_many):
4809
stdcall versions of the "my_strlen" and "many"
4810
test functions (for X86_WIN32).
4811
Added test cases to test stdcall invocation using
4814
2002-12-02 Kaz Kojima <kkojima@gcc.gnu.org>
4816
* src/sh/sysv.S: Add DWARF2 unwind info.
4818
2002-11-27 Ulrich Weigand <uweigand@de.ibm.com>
4820
* src/s390/sysv.S (.eh_frame section): Make section read-only.
4822
2002-11-26 Jim Wilson <wilson@redhat.com>
4824
* src/types.c (FFI_TYPE_POINTER): Has size 8 on IA64.
4826
2002-11-23 H.J. Lu <hjl@gnu.org>
4828
* acinclude.m4: Add dummy AM_PROG_LIBTOOL.
4829
Include ../config/accross.m4.
4830
* aclocal.m4; Rebuild.
4831
* configure: Likewise.
4833
2002-11-15 Ulrich Weigand <uweigand@de.ibm.com>
4835
* src/s390/sysv.S (.eh_frame section): Adapt to pcrel FDE encoding.
4837
2002-11-11 DJ Delorie <dj@redhat.com>
4839
* configure.in: Look for common files in the right place.
4841
2002-10-08 Ulrich Weigand <uweigand@de.ibm.com>
4843
* src/java_raw_api.c (ffi_java_raw_to_ptrarray): Interpret
4844
raw data as _Jv_word values, not ffi_raw.
4845
(ffi_java_ptrarray_to_raw): Likewise.
4846
(ffi_java_rvalue_to_raw): New function.
4847
(ffi_java_raw_call): Call it.
4848
(ffi_java_raw_to_rvalue): New function.
4849
(ffi_java_translate_args): Call it.
4850
* src/ffitest.c (closure_test_fn): Interpret return value
4851
as ffi_arg, not int.
4852
* src/s390/ffi.c (ffi_prep_cif_machdep): Add missing
4853
FFI_TYPE_POINTER case.
4854
(ffi_closure_helper_SYSV): Likewise. Also, assume return
4855
values extended to word size.
4857
2002-10-02 Andreas Jaeger <aj@suse.de>
4859
* src/x86/ffi64.c (ffi_prep_cif_machdep): Remove debug output.
4861
2002-10-01 Bo Thorsen <bo@smetana.suse.de>
4863
* include/ffi.h.in: Fix i386 win32 compilation.
4865
2002-09-30 Ulrich Weigand <uweigand@de.ibm.com>
4867
* configure.in: Add s390x-*-linux-* target.
4868
* configure: Regenerate.
4869
* include/ffi.h.in: Define S390X for s390x targets.
4870
(FFI_CLOSURES): Define for s390/s390x.
4871
(FFI_TRAMPOLINE_SIZE): Likewise.
4872
(FFI_NATIVE_RAW_API): Likewise.
4873
* src/prep_cif.c (ffi_prep_cif): Do not compute stack space for s390.
4874
* src/types.c (FFI_TYPE_POINTER): Use 8-byte pointers on s390x.
4875
* src/s390/ffi.c: Major rework of existing code. Add support for
4876
s390x targets. Add closure support.
4877
* src/s390/sysv.S: Likewise.
4879
2002-09-29 Richard Earnshaw <rearnsha@arm.com>
4881
* src/arm/sysv.S: Fix typo.
4883
2002-09-28 Richard Earnshaw <rearnsha@arm.com>
4885
* src/arm/sysv.S: If we don't have machine/asm.h and the pre-processor
4886
has defined __USER_LABEL_PREFIX__, then use it in CNAME.
4887
(ffi_call_SYSV): Handle soft-float.
4889
2002-09-27 Bo Thorsen <bo@suse.de>
4891
* include/ffi.h.in: Fix multilib x86-64 support.
4893
2002-09-22 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
4895
* Makefile.am (all-multi): Fix multilib parallel build.
4897
2002-07-19 Kaz Kojima <kkojima@gcc.gnu.org>
4899
* configure.in (sh[34]*-*-linux*): Add brackets.
4900
* configure: Regenerate.
4902
2002-07-18 Kaz Kojima <kkojima@gcc.gnu.org>
4904
* Makefile.am: Add SH support.
4905
* Makefile.in: Regenerate.
4906
* configure.in (sh-*-linux*, sh[34]*-*-linux*): Add target.
4907
* configure: Regenerate.
4908
* include/ffi.h.in: Add SH support.
4909
* src/sh/ffi.c: New file.
4910
* src/sh/sysv.S: New file.
4911
* src/types.c: Add SH support.
4913
2002-07-16 Bo Thorsen <bo@suse.de>
4915
* src/x86/ffi64.c: New file that adds x86-64 support.
4916
* src/x86/unix64.S: New file that handles argument setup for
4918
* src/x86/sysv.S: Don't use this on x86-64.
4919
* src/x86/ffi.c: Don't use this on x86-64.
4921
* src/prep_cif.c (ffi_prep_cif): Don't do stack size calculation
4923
* src/ffitest.c (struct6): New test that tests a special case in
4925
(struct7): Likewise.
4926
(struct8): Likewise.
4927
(struct9): Likewise.
4928
(closure_test_fn): Silence warning about this when it's not used.
4929
(main): Add the new tests.
4930
(main): Fix a couple of wrong casts and silence some compiler warnings.
4931
* include/ffi.h.in: Add x86-64 ABI definition.
4932
* fficonfig.h.in: Regenerate.
4933
* Makefile.am: Add x86-64 support.
4934
* configure.in: Likewise.
4935
* Makefile.in: Regenerate.
4936
* configure: Likewise.
4938
2002-06-24 Bo Thorsen <bo@suse.de>
4940
* src/types.c: Merge settings for similar architectures.
4941
Add x86-64 sizes and alignments.
4943
2002-06-23 Bo Thorsen <bo@suse.de>
4945
* src/arm/ffi.c (ffi_prep_args): Remove unused vars.
4946
* src/sparc/ffi.c (ffi_prep_args_v8): Likewise.
4947
* src/mips/ffi.c (ffi_prep_args): Likewise.
4948
* src/m68k/ffi.c (ffi_prep_args): Likewise.
4950
2002-07-18 H.J. Lu (hjl@gnu.org)
4952
* Makefile.am (TARGET_SRC_MIPS_LINUX): New.
4953
(libffi_la_SOURCES): Support MIPS_LINUX.
4954
(libffi_convenience_la_SOURCES): Likewise.
4955
* Makefile.in: Regenerated.
4957
* configure.in (mips64*-*): Skip.
4958
(mips*-*-linux*): New.
4959
* configure: Regenerated.
4961
* src/mips/ffi.c: Include <sgidefs.h>.
4963
2002-06-06 Ulrich Weigand <uweigand@de.ibm.com>
4965
* src/s390/sysv.S: Save/restore %r6. Add DWARF-2 unwind info.
4967
2002-05-27 Roger Sayle <roger@eyesopen.com>
4969
* src/x86/ffi.c (ffi_prep_args): Remove reference to avn.
4971
2002-05-27 Bo Thorsen <bo@suse.de>
4973
* src/x86/ffi.c (ffi_prep_args): Remove unused variable and
4976
2002-05-13 Andreas Tobler <a.tobler@schweiz.ch>
4978
* src/powerpc/ffi_darwin.c (ffi_prep_closure): Declare fd at
4979
beginning of function (for older apple cc).
4981
2002-05-08 Alexandre Oliva <aoliva@redhat.com>
4983
* configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
4984
script entry, and set LD to it when configuring multilibs.
4985
* configure: Rebuilt.
4987
2002-05-05 Jason Thorpe <thorpej@wasabisystems.com>
4989
* configure.in (sparc64-*-netbsd*): Add target.
4990
(sparc-*-netbsdelf*): Likewise.
4991
* configure: Regenerate.
4993
2002-04-28 David S. Miller <davem@redhat.com>
4995
* configure.in, configure: Fix SPARC test in previous change.
4997
2002-04-29 Gerhard Tonn <GerhardTonn@swol.de>
4999
* Makefile.am: Add Linux for S/390 support.
5000
* Makefile.in: Regenerate.
5001
* configure.in: Add Linux for S/390 support.
5002
* configure: Regenerate.
5003
* include/ffi.h.in: Add Linux for S/390 support.
5004
* src/s390/ffi.c: New file from libffi CVS tree.
5005
* src/s390/sysv.S: New file from libffi CVS tree.
5007
2002-04-28 Jakub Jelinek <jakub@redhat.com>
5009
* configure.in (HAVE_AS_SPARC_UA_PCREL): Check for working
5011
* src/sparc/v8.S: Use it.
5012
* src/sparc/v9.S: Likewise.
5013
* fficonfig.h.in: Rebuilt.
5014
* configure: Rebuilt.
5016
2002-04-08 Hans Boehm <Hans_Boehm@hp.com>
5018
* src/java_raw_api.c (ffi_java_raw_size): Handle FFI_TYPE_DOUBLE
5020
* src/ia64/unix.S: Add unwind information. Fix comments.
5021
Save sp in a way that's compatible with unwind info.
5022
(ffi_call_unix): Correctly restore sp in all cases.
5023
* src/ia64/ffi.c: Add, fix comments.
5025
2002-04-08 Jakub Jelinek <jakub@redhat.com>
5027
* src/sparc/v8.S: Make .eh_frame dependent on target word size.
5029
2002-04-06 Jason Thorpe <thorpej@wasabisystems.com>
5031
* configure.in (alpha*-*-netbsd*): Add target.
5032
* configure: Regenerate.
5034
2002-04-04 Jeff Sturm <jsturm@one-point.com>
5036
* src/sparc/v8.S: Add unwind info.
5037
* src/sparc/v9.S: Likewise.
5039
2002-03-30 Krister Walfridsson <cato@df.lth.se>
5041
* configure.in: Enable i*86-*-netbsdelf*.
5042
* configure: Rebuilt.
5044
2002-03-29 David Billinghurst <David.Billinghurst@riotinto.com>
5047
* src/mips/n32.s: Delete
5048
* src/mips/o32.s: Delete
5050
2002-03-21 Loren J. Rittle <ljrittle@acm.org>
5052
* configure.in: Enable alpha*-*-freebsd*.
5053
* configure: Rebuilt.
5055
2002-03-17 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
5057
* Makefile.am: libfficonvenience -> libffi_convenience.
5058
* Makefile.in: Rebuilt.
5060
* Makefile.am: Define ffitest_OBJECTS.
5061
* Makefile.in: Rebuilt.
5063
2002-03-07 Andreas Tobler <toa@pop.agri.ch>
5064
David Edelsohn <edelsohn@gnu.org>
5066
* Makefile.am (EXTRA_DIST): Add Darwin and AIX closure files.
5067
(TARGET_SRC_POWERPC_AIX): Add aix_closure.S.
5068
(TARGET_SRC_POWERPC_DARWIN): Add darwin_closure.S.
5069
* Makefile.in: Regenerate.
5070
* include/ffi.h.in: Add AIX and Darwin closure definitions.
5071
* src/powerpc/ffi_darwin.c (ffi_prep_closure): New function.
5072
(flush_icache, flush_range): New functions.
5073
(ffi_closure_helper_DARWIN): New function.
5074
* src/powerpc/aix_closure.S: New file.
5075
* src/powerpc/darwin_closure.S: New file.
5077
2002-02-24 Jeff Sturm <jsturm@one-point.com>
5079
* include/ffi.h.in: Add typedef for ffi_arg.
5080
* src/ffitest.c (main): Declare rint with ffi_arg.
5082
2002-02-21 Andreas Tobler <toa@pop.agri.ch>
5084
* src/powerpc/ffi_darwin.c (ffi_prep_args): Skip appropriate
5085
number of GPRs for floating-point arguments.
5087
2002-01-31 Anthony Green <green@redhat.com>
5089
* configure: Rebuilt.
5090
* configure.in: Replace CHECK_SIZEOF and endian tests with
5091
cross-compiler friendly macros.
5092
* aclocal.m4 (AC_COMPILE_CHECK_SIZEOF, AC_C_BIGENDIAN_CROSS): New
5095
2002-01-18 David Edelsohn <edelsohn@gnu.org>
5097
* src/powerpc/darwin.S (_ffi_call_AIX): New.
5098
* src/powerpc/aix.S (ffi_call_DARWIN): New.
5100
2002-01-17 David Edelsohn <edelsohn@gnu.org>
5102
* Makefile.am (EXTRA_DIST): Add Darwin and AIX files.
5103
(TARGET_SRC_POWERPC_AIX): New.
5104
(POWERPC_AIX): New stanza.
5105
* Makefile.in: Regenerate.
5106
* configure.in: Add AIX case.
5107
* configure: Regenerate.
5108
* include/ffi.h.in (ffi_abi): Add FFI_AIX.
5109
* src/powerpc/ffi_darwin.c (ffi_status): Use "long" to scale frame
5110
size. Fix "long double" support.
5111
(ffi_call): Add FFI_AIX case.
5112
* src/powerpc/aix.S: New.
5114
2001-10-09 John Hornkvist <john@toastedmarshmallow.com>
5116
Implement Darwin PowerPC ABI.
5117
* configure.in: Handle powerpc-*-darwin*.
5118
* Makefile.am: Set source files for POWERPC_DARWIN.
5119
* configure: Rebuilt.
5120
* Makefile.in: Rebuilt.
5121
* include/ffi.h.in: Define FFI_DARWIN and FFI_DEFAULT_ABI for
5123
* src/powerpc/darwin.S: New file.
5124
* src/powerpc/ffi_darwin.c: New file.
5126
2001-10-07 Joseph S. Myers <jsm28@cam.ac.uk>
5128
* src/x86/ffi.c: Fix spelling error of "separate" as "seperate".
5130
2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5132
* src/x86/sysv.S: Avoid gas-only .balign directive.
5133
Use C style comments.
5135
2001-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5137
* src/alpha/ffi.c (ffi_prep_closure): Avoid gas-only mnemonic.
5138
Fixes PR bootstrap/3563.
5140
2001-06-26 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5142
* src/alpha/osf.S (ffi_closure_osf): Use .rdata for ECOFF.
5144
2001-06-25 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5146
* configure.in: Recognize sparc*-sun-* host.
5147
* configure: Regenerate.
5149
2001-06-06 Andrew Haley <aph@redhat.com>
5151
* src/alpha/osf.S (__FRAME_BEGIN__): Conditionalize for ELF.
5153
2001-06-03 Andrew Haley <aph@redhat.com>
5155
* src/alpha/osf.S: Add unwind info.
5156
* src/powerpc/sysv.S: Add unwind info.
5157
* src/powerpc/ppc_closure.S: Likewise.
5159
2000-05-31 Jeff Sturm <jsturm@one-point.com>
5161
* configure.in: Fix AC_ARG_ENABLE usage.
5162
* configure: Rebuilt.
5164
2001-05-06 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
5166
* configure.in: Remove warning about beta code.
5167
* configure: Rebuilt.
5169
2001-04-25 Hans Boehm <Hans_Boehm@hp.com>
5171
* src/ia64/unix.S: Restore stack pointer when returning from
5173
* src/ia64/ffi.c: Fix typo in comment.
5175
2001-04-18 Jim Wilson <wilson@redhat.com>
5177
* src/ia64/unix.S: Delete unnecessary increment and decrement of loc2
5178
to eliminate RAW DV.
5180
2001-04-12 Bryce McKinlay <bryce@albatross.co.nz>
5182
* Makefile.am: Make a libtool convenience library.
5183
* Makefile.in: Rebuilt.
5185
2001-03-29 Bryce McKinlay <bryce@albatross.co.nz>
5187
* configure.in: Use different syntax for subdirectory creation.
5188
* configure: Rebuilt.
5190
2001-03-27 Jon Beniston <jon@beniston.com>
5192
* configure.in: Added X86_WIN32 target (Win32, CygWin, MingW).
5193
* configure: Rebuilt.
5194
* Makefile.am: Added X86_WIN32 target support.
5195
* Makefile.in: Rebuilt.
5197
* include/ffi.h.in: Added X86_WIN32 target support.
5199
* src/ffitest.c: Doesn't run structure tests for X86_WIN32 targets.
5200
* src/types.c: Added X86_WIN32 target support.
5202
* src/x86/win32.S: New file. Based on sysv.S, but with EH
5203
stuff removed and made to work with CygWin's gas.
5205
2001-03-26 Bryce McKinlay <bryce@albatross.co.nz>
5207
* configure.in: Make target subdirectory in build dir.
5208
* Makefile.am: Override suffix based rules to specify correct output
5210
* Makefile.in: Rebuilt.
5211
* configure: Rebuilt.
5213
2001-03-23 Kevin B Hendricks <khendricks@ivey.uwo.ca>
5215
* src/powerpc/ppc_closure.S: New file.
5216
* src/powerpc/ffi.c (ffi_prep_args): Fixed ABI compatibility bug
5217
involving long long and register pairs.
5218
(ffi_prep_closure): New function.
5219
(flush_icache): Likewise.
5220
(ffi_closure_helper_SYSV): Likewise.
5221
* include/ffi.h.in (FFI_CLOSURES): Define on PPC.
5222
(FFI_TRAMPOLINE_SIZE): Likewise.
5223
(FFI_NATIVE_RAW_API): Likewise.
5224
* Makefile.in: Rebuilt.
5225
* Makefile.am (EXTRA_DIST): Added src/powerpc/ppc_closure.S.
5226
(TARGET_SRC_POWERPC): Likewise.
5228
2001-03-19 Tom Tromey <tromey@redhat.com>
5230
* Makefile.in: Rebuilt.
5231
* Makefile.am (ffitest_LDFLAGS): New macro.
5233
2001-03-02 Nick Clifton <nickc@redhat.com>
5235
* include/ffi.h.in: Remove RCS ident string.
5236
* include/ffi_mips.h: Remove RCS ident string.
5237
* src/debug.c: Remove RCS ident string.
5238
* src/ffitest.c: Remove RCS ident string.
5239
* src/prep_cif.c: Remove RCS ident string.
5240
* src/types.c: Remove RCS ident string.
5241
* src/alpha/ffi.c: Remove RCS ident string.
5242
* src/alpha/osf.S: Remove RCS ident string.
5243
* src/arm/ffi.c: Remove RCS ident string.
5244
* src/arm/sysv.S: Remove RCS ident string.
5245
* src/mips/ffi.c: Remove RCS ident string.
5246
* src/mips/n32.S: Remove RCS ident string.
5247
* src/mips/o32.S: Remove RCS ident string.
5248
* src/sparc/ffi.c: Remove RCS ident string.
5249
* src/sparc/v8.S: Remove RCS ident string.
5250
* src/sparc/v9.S: Remove RCS ident string.
5251
* src/x86/ffi.c: Remove RCS ident string.
5252
* src/x86/sysv.S: Remove RCS ident string.
5254
2001-02-08 Joseph S. Myers <jsm28@cam.ac.uk>
5256
* include/ffi.h.in: Change sourceware.cygnus.com references to
5259
2000-12-09 Richard Henderson <rth@redhat.com>
5261
* src/alpha/ffi.c (ffi_call): Simplify struct return test.
5262
(ffi_closure_osf_inner): Index rather than increment avalue
5263
and arg_types. Give ffi_closure_osf the raw return value type.
5264
* src/alpha/osf.S (ffi_closure_osf): Handle return value type
5267
2000-12-07 Richard Henderson <rth@redhat.com>
5269
* src/raw_api.c (ffi_translate_args): Fix typo.
5270
(ffi_prep_closure): Likewise.
5272
* include/ffi.h.in [ALPHA]: Define FFI_CLOSURES and
5273
FFI_TRAMPOLINE_SIZE.
5274
* src/alpha/ffi.c (ffi_prep_cif_machdep): Adjust minimal
5275
cif->bytes for new ffi_call_osf implementation.
5276
(ffi_prep_args): Absorb into ...
5277
(ffi_call): ... here. Do all stack allocation here and
5278
avoid a callback function.
5279
(ffi_prep_closure, ffi_closure_osf_inner): New.
5280
* src/alpha/osf.S (ffi_call_osf): Reimplement with no callback.
5281
(ffi_closure_osf): New.
5283
2000-09-10 Alexandre Oliva <aoliva@redhat.com>
5285
* config.guess, config.sub, install-sh: Removed.
5286
* ltconfig, ltmain.sh, missing, mkinstalldirs: Likewise.
5287
* Makefile.in: Rebuilt.
5289
* acinclude.m4: Include libtool macros from the top level.
5290
* aclocal.m4, configure: Rebuilt.
5292
2000-08-22 Alexandre Oliva <aoliva@redhat.com>
5294
* configure.in [i*86-*-freebsd*] (TARGET, TARGETDIR): Set.
5295
* configure: Rebuilt.
5297
2000-05-11 Scott Bambrough <scottb@netwinder.org>
5299
* libffi/src/arm/sysv.S (ffi_call_SYSV): Doubles are not saved to
5300
memory correctly. Use conditional instructions, not branches where
5303
2000-05-04 Tom Tromey <tromey@cygnus.com>
5305
* configure: Rebuilt.
5306
* configure.in: Match `arm*-*-linux-*'.
5307
From Chris Dornan <cdornan@arm.com>.
5309
2000-04-28 Jakub Jelinek <jakub@redhat.com>
5311
* Makefile.am (SUBDIRS): Define.
5312
(AM_MAKEFLAGS): Likewise.
5313
(Multilib support.): Add section.
5314
* Makefile.in: Rebuilt.
5315
* ltconfig (extra_compiler_flags, extra_compiler_flags_value):
5316
New variables. Set for gcc using -print-multi-lib. Export them
5318
(sparc64-*-linux-gnu*): Use libsuff 64 for search paths.
5319
* ltmain.sh (B|b|V): Don't throw away gcc's -B, -b and -V options
5321
(extra_compiler_flags_value, extra_compiler_flags): Check these
5322
for extra compiler options which need to be passed down in
5325
2000-04-16 Anthony Green <green@redhat.com>
5327
* configure: Rebuilt.
5328
* configure.in: Change i*86-pc-linux* to i*86-*-linux*.
5330
2000-04-14 Jakub Jelinek <jakub@redhat.com>
5332
* include/ffi.h.in (SPARC64): Define for 64bit SPARC builds.
5333
Set SPARC FFI_DEFAULT_ABI based on SPARC64 define.
5334
* src/sparc/ffi.c (ffi_prep_args_v8): Renamed from ffi_prep_args.
5335
Replace all void * sizeofs with sizeof(int).
5336
Only compare type with FFI_TYPE_LONGDOUBLE if LONGDOUBLE is
5337
different than DOUBLE.
5338
Remove FFI_TYPE_SINT32 and FFI_TYPE_UINT32 cases (handled elsewhere).
5339
(ffi_prep_args_v9): New function.
5340
(ffi_prep_cif_machdep): Handle V9 ABI and long long on V8.
5341
(ffi_V9_return_struct): New function.
5342
(ffi_call): Handle FFI_V9 ABI from 64bit code and FFI_V8 ABI from
5343
32bit code (not yet cross-arch calls).
5344
* src/sparc/v8.S: Add struct return delay nop.
5346
* src/sparc/v9.S: New file.
5347
* src/prep_cif.c (ffi_prep_cif): Return structure pointer
5348
is used on sparc64 only for structures larger than 32 bytes.
5349
Pass by reference for structures is done for structure arguments
5350
larger than 16 bytes.
5351
* src/ffitest.c (main): Use 64bit rint on sparc64.
5352
Run long long tests on sparc.
5353
* src/types.c (FFI_TYPE_POINTER): Pointer is 64bit on alpha and
5355
(FFI_TYPE_LONGDOUBLE): long double is 128 bit aligned to 128 bits
5357
* configure.in (sparc-*-linux*): New supported target.
5358
(sparc64-*-linux*): Likewise.
5359
* configure: Rebuilt.
5360
* Makefile.am: Add v9.S to SPARC files.
5361
* Makefile.in: Likewise.
5362
(LINK): Surround $(CCLD) into double quotes, so that multilib
5363
compiles work correctly.
5365
2000-04-04 Alexandre Petit-Bianco <apbianco@cygnus.com>
5367
* configure: Rebuilt.
5368
* configure.in: (i*86-*-solaris*): New libffi target. Patch
5369
proposed by Bryce McKinlay.
5371
2000-03-20 Tom Tromey <tromey@cygnus.com>
5373
* Makefile.in: Hand edit for java_raw_api.lo.
5375
2000-03-08 Bryce McKinlay <bryce@albatross.co.nz>
5377
* config.guess, config.sub: Update from the gcc tree.
5378
Fix for PR libgcj/168.
5380
2000-03-03 Tom Tromey <tromey@cygnus.com>
5382
* Makefile.in: Fixed ia64 by hand.
5384
* configure: Rebuilt.
5385
* configure.in (--enable-multilib): New option.
5386
(libffi_basedir): New subst.
5387
(AC_OUTPUT): Added multilib code.
5389
2000-03-02 Tom Tromey <tromey@cygnus.com>
5391
* Makefile.in: Rebuilt.
5392
* Makefile.am (TARGET_SRC_IA64): Use `ia64', not `alpha', as
5395
2000-02-25 Hans Boehm <boehm@acm.org>
5397
* src/ia64/ffi.c, src/ia64/ia64_flags.h, src/ia64/unix.S: New
5399
* src/raw_api.c (ffi_translate_args): Fixed typo in argument
5401
(ffi_prep_raw_closure): Use ffi_translate_args, not
5402
ffi_closure_translate.
5403
* src/java_raw_api.c: New file.
5404
* src/ffitest.c (closure_test_fn): New function.
5405
(main): Define `rint' as long long on IA64. Added new test when
5406
FFI_CLOSURES is defined.
5407
* include/ffi.h.in (ALIGN): Use size_t, not unsigned.
5408
(ffi_abi): Recognize IA64.
5409
(ffi_raw): Added `flt' field.
5410
Added "Java raw API" code.
5411
* configure.in: Recognize ia64.
5412
* Makefile.am (TARGET_SRC_IA64): New macro.
5413
(libffi_la_common_SOURCES): Added java_raw_api.c.
5414
(libffi_la_SOURCES): Define in IA64 case.
5416
2000-01-04 Tom Tromey <tromey@cygnus.com>
5418
* Makefile.in: Rebuilt with newer automake.
5420
1999-12-31 Tom Tromey <tromey@cygnus.com>
5422
* Makefile.am (INCLUDES): Added -I$(top_srcdir)/src.
5424
1999-09-01 Tom Tromey <tromey@cygnus.com>
5426
* include/ffi.h.in: Removed PACKAGE and VERSION defines and
5428
* fficonfig.h.in: Rebuilt.
5429
* configure: Rebuilt.
5430
* configure.in: Pass 3rd argument to AM_INIT_AUTOMAKE.
5431
Use AM_PROG_LIBTOOL (automake 1.4 compatibility).
5432
* acconfig.h: Don't #undef PACKAGE or VERSION.
5434
1999-08-09 Anthony Green <green@cygnus.com>
5436
* include/ffi.h.in: Try to work around messy header problem
5437
with PACKAGE and VERSION.
5439
* configure: Rebuilt.
5440
* configure.in: Change version to 2.00-beta.
5442
* fficonfig.h.in: Rebuilt.
5443
* acconfig.h (FFI_NO_STRUCTS, FFI_NO_RAW_API): Define.
5445
* src/x86/ffi.c (ffi_raw_call): Rename.
5447
1999-08-02 Kresten Krab Thorup <krab@dominiq.is.s.u-tokyo.ac.jp>
5449
* src/x86/ffi.c (ffi_closure_SYSV): New function.
5450
(ffi_prep_incoming_args_SYSV): Ditto.
5451
(ffi_prep_closure): Ditto.
5452
(ffi_closure_raw_SYSV): Ditto.
5453
(ffi_prep_raw_closure): More ditto.
5454
(ffi_call_raw): Final ditto.
5456
* include/ffi.h.in: Add definitions for closure and raw API.
5458
* src/x86/ffi.c (ffi_prep_cif_machdep): Added case for
5461
* Makefile.am (libffi_la_common_SOURCES): Added raw_api.c
5463
* src/raw_api.c: New file.
5465
* include/ffi.h.in (ffi_raw): New type.
5466
(UINT_ARG, SINT_ARG): New defines.
5467
(ffi_closure, ffi_raw_closure): New types.
5468
(ffi_prep_closure, ffi_prep_raw_closure): New declarations.
5470
* configure.in: Add check for endianness and sizeof void*.
5472
* src/x86/sysv.S (ffi_call_SYSV): Call fixup routine via argument,
5473
instead of directly.
5475
* configure: Rebuilt.
5477
Thu Jul 8 14:28:42 1999 Anthony Green <green@cygnus.com>
5479
* configure.in: Add x86 and powerpc BeOS configurations.
5480
From Makoto Kato <m_kato@ga2.so-net.ne.jp>.
5482
1999-05-09 Anthony Green <green@cygnus.com>
5484
* configure.in: Add warning about this being beta code.
5485
Remove src/Makefile.am from the picture.
5486
* configure: Rebuilt.
5488
* Makefile.am: Move logic from src/Makefile.am. Add changes
5489
to support libffi as a target library.
5490
* Makefile.in: Rebuilt.
5492
* aclocal.m4, config.guess, config.sub, ltconfig, ltmain.sh:
5493
Upgraded to new autoconf, automake, libtool.
5497
* LICENSE: Update copyright date.
5499
* src/Makefile.am, src/Makefile.in: Removed.
5501
1998-11-29 Anthony Green <green@cygnus.com>
5503
* include/ChangeLog: Removed.
5504
* src/ChangeLog: Removed.
5505
* src/mips/ChangeLog: Removed.
5506
* src/sparc/ChangeLog: Remboved.
5507
* src/x86/ChangeLog: Removed.
5509
* ChangeLog.v1: Created.