+2014-07-04 Thomas Schwinge <thomas@codesourcery.com>
+
+ * testsuite/lib/libffi.exp (libffi-dg-runtest): Change interface
+ match to dg-runtest's.
+
+2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * testsuite/lib/libffi.exp (load_gcc_lib): Register loaded libs.
+
+2014-05-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ Fix current cygwin-64 build problems.
+ * src/java_raw_api.c: Remove if !defined(FFI_NO_RAW_API).
+ * src/x86/ffi.c: Add if defined(__CYGWIN__).
+ * src/x86/win64.S (ffi_closure_win64, ffi_call_win64): Added
+ handling for FFI_TYPE_UINT64, FFI_TYPE_POINTER and FFI_TYPE_INT.
+ Added SEH information. Fixed formatting.
+
+2014-04-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR other/43620
+ * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
+ * Makefile.in: Regenerated.
+ * include/Makefile.in: Regenerated.
+ * man/Makefile.in: Regenerated.
+ * testsuite/Makefile.in: Regenerated.
+
+2014-03-12 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * src/aarch64/sysv.S (ffi_closure_SYSV): Use x29 as the
+ main CFA reg; update cfi_rel_offset.
+
+2014-02-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR libffi/60073
+ * src/sparc/v8.S: Assemble only if !SPARC64.
+ * src/sparc/v9.S: Remove obsolete comment.
+ * src/sparc/ffitarget.h (enum ffi_abi): Add FFI_COMPAT_V9.
+ (V8_ABI_P): New macro.
+ (V9_ABI_P): Likewise.
+ (FFI_EXTRA_CIF_FIELDS): Define only if SPARC64.
+ * src/sparc/ffi.c (ffi_prep_args_v8): Compile only if !SPARC64.
+ (ffi_prep_args_v9): Compile only if SPARC64.
+ (ffi_prep_cif_machdep_core): Use V9_ABI_P predicate.
+ (ffi_prep_cif_machdep): Guard access to nfixedargs field.
+ (ffi_prep_cif_machdep_var): Likewise.
+ (ffi_v9_layout_struct): Compile only if SPARC64.
+ (ffi_call): Deal with FFI_V8PLUS and FFI_COMPAT_V9 and fix warnings.
+ (ffi_prep_closure_loc): Use V9_ABI_P and V8_ABI_P predicates.
+ (ffi_closure_sparc_inner_v8): Compile only if !SPARC64.
+ (ffi_closure_sparc_inner_v9): Compile only if SPARC64. Guard access
+ to nfixedargs field.
+
+2014-02-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR libffi/60073
+ * src/sparc/ffitarget.h (FFI_TARGET_SPECIFIC_VARIADIC): Define.
+ (FFI_EXTRA_CIF_FIELDS): Likewise.
+ (FFI_NATIVE_RAW_API): Move around.
+ * src/sparc/ffi.c (ffi_prep_cif_machdep_core): New function from...
+ (ffi_prep_cif_machdep): ...here. Call ffi_prep_cif_machdep_core.
+ (ffi_prep_cif_machdep_var): New function.
+ (ffi_closure_sparc_inner_v9): Do not pass anonymous FP arguments in
+ FP registers.
+ * doc/libffi.texi (Introduction): Fix inaccuracy.
+
+2013-12-10 Alan Modra <amodra@gmail.com>
+
+ * src/powerpc/ffitarget.h: Import from upstream.
+ * src/powerpc/ffi_powerpc.h: Likewise.
+ * src/powerpc/ffi.c: Likewise.
+ * src/powerpc/ffi_sysv.c: Likewise.
+ * src/powerpc/ffi_linux64.c: Likewise.
+ * src/powerpc/sysv.S: Likewise.
+ * src/powerpc/ppc_closure.S: Likewise.
+ * src/powerpc/linux64.S: Likewise.
+ * src/powerpc/linux64_closure.S: Likewise.
+ * src/types.c: Likewise.
+ * Makefile.am (EXTRA_DIST): Add new src/powerpc files.
+ (nodist_libffi_la_SOURCES <POWERPC, POWERPC_FREEBSD>): Likewise.
+ * configure.ac (HAVE_LONG_DOUBLE_VARIANT): Define for powerpc.
+ * include/ffi.h.in (ffi_prep_types): Declare.
+ * src/prep_cif.c (ffi_prep_cif_core): Call ffi_prep_types.
+ * configure: Regenerate.
+ * fficonfig.h.in: Regenerate.
+ * Makefile.in: Regenerate.
+ * man/Makefile.in: Regenerate.
+ * include/Makefile.in: Regenerate.
+ * testsuite/Makefile.in: Regenerate.
+
+2013-11-18 Alan Modra <amodra@gmail.com>
+
+ * src/powerpc/ppc_closure.S: Don't bl .Luint128.
+
+ * src/powerpc/ffitarget.h: Import from upstream.
+ * src/powerpc/ffi.c: Likewise.
+ * src/powerpc/linux64.S: Likewise.
+ * src/powerpc/linux64_closure.S: Likewise.
+ * doc/libffi.texi: Likewise.
+ * testsuite/libffi.call/cls_double_va.c: Likewise.
+ * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
+
+2013-09-20 Alan Modra <amodra@gmail.com>
+
+ * configure: Regenerate.
+
+2013-06-25 Alan Modra <amodra@gmail.com>
+
+ * src/powerpc/ffi.c (ffi_prep_args_SYSV): Move var declaration
+ before statements.
+ (ffi_prep_args64): Support little-endian.
+ (ffi_closure_helper_SYSV, ffi_closure_helper_LINUX64): Likewise.
+ * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Likewise.
+ * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Likewise.
+
+2013-05-22 Dominique d'Humieres <dominiq@lps.ens.fr>
+ Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libffi/56033
+ * testsuite/libffi.call/cls_struct_va1.c (test_fn): Cast resp to
+ ffi_arg *.
+ * testsuite/libffi.call/cls_uint_va.c (cls_ret_T_fn): Likewise.
+ * testsuite/libffi.call/va_1.c (main): Change res to ffi_arg.
+ * testsuite/libffi.call/va_struct1.c (main): Likewise.
+
+2013-03-22 Kai Tietz <ktietz@redhat.com>
+
+ * src/x86/win64.S: Make use of ffi_closure_win64_inner
+ symbol pc-relative.
+
+2013-03-07 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * src/closures.c (is_emutramp_enabled [!FFI_MMAP_EXEC_EMUTRAMP_PAX]):
+ Move default definition outside enclosing #if scope.
+
+2013-02-06 Andreas Tobler <andreast@fgznet.ch>
+
+ * src/powerpc/ffi.c (ffi_prep_cif_machdep): Fix case where
+ DOUBLE equal LONGDOUBLE.
+
+2013-01-07 Thorsten Glaser <tg@mirbsd.org>
+
+ * testsuite/libffi.call/cls_uchar_va.c,
+ testsuite/libffi.call/cls_ushort_va.c,
+ testsuite/libffi.call/va_1.c: Testsuite fixes.
+
+2012-12-29 Andreas Schwab <schwab@linux-m68k.org>
+
+ * Makefile.am (ACLOCAL_AMFLAGS, TEXINFO_TEX, MAKEINFOFLAGS)
+ (STAMP_GENINSRC, STAMP_BUILD_INFO, CLEANFILES)
+ (MAINTAINERCLEANFILES): Define.
+ (all-local, stamp-geninsrc, stamp-build-info): New targets.
+ (doc/libffi.info): Depend on $(STAMP_BUILD_INFO)
+ * configure.ac: Check for modern makeinfo. Add support for
+ --enable-generated-files-in-srcdir.
+ * libffi/mdate-sh: New file.
+ * testsuite/lib/libffi.exp (load_gcc_lib): Load from gcc testsuite
+ lib dir.
+ (libffi-init): Properly set library paths for multilibs and add
+ path to libstdc++.
+ * configure: Regenerate.
+ * aclocal.m4: Regenerate.
+ * Makefile.in: Regenerate.
+ * doc/stamp-vti: Regenerate.
+ * doc/version.texi: Regenerate.
+ * fficonfig.h.in: Regenerate.
+ * include/Makefile.in: Regenerate.
+ * man/Makefile.in: Regenerate.
+ * testsuite/Makefile.in: Regenerate.
+
2012-10-31 Alan Modra <amodra@gmail.com>
* src/powerpc/linux64_closure.S: Add new ABI support.
2012-10-30 James Greenhalgh <james.greenhalgh at arm.com>
Marcus Shawcroft <marcus.shawcroft at arm.com>
- * README: Add details of aarch64 port.
- * src/aarch64/ffi.c: New.
- * src/aarch64/ffitarget.h: Likewise.
- * src/aarch64/sysv.S: Likewise.
+ * README: Add details of aarch64 port.
+ * src/aarch64/ffi.c: New.
+ * src/aarch64/ffitarget.h: Likewise.
+ * src/aarch64/sysv.S: Likewise.
* Makefile.am: Support aarch64.
* configure.ac: Support aarch64.
* Makefile.in, configure: Rebuilt.
2012-10-30 James Greenhalgh <james.greenhalgh at arm.com>
Marcus Shawcroft <marcus.shawcroft at arm.com>
- * testsuite/lib/libffi.exp: Add support for aarch64.
- * testsuite/libffi.call/cls_struct_va1.c: New.
- * testsuite/libffi.call/cls_uchar_va.c: Likewise.
- * testsuite/libffi.call/cls_uint_va.c: Likewise.
- * testsuite/libffi.call/cls_ulong_va.c: Likewise.
- * testsuite/libffi.call/cls_ushort_va.c: Likewise.
- * testsuite/libffi.call/nested_struct11.c: Likewise.
- * testsuite/libffi.call/uninitialized.c: Likewise.
- * testsuite/libffi.call/va_1.c: Likewise.
- * testsuite/libffi.call/va_struct1.c: Likewise.
- * testsuite/libffi.call/va_struct2.c: Likewise.
- * testsuite/libffi.call/va_struct3.c: Likewise.
+ * testsuite/lib/libffi.exp: Add support for aarch64.
+ * testsuite/libffi.call/cls_struct_va1.c: New.
+ * testsuite/libffi.call/cls_uchar_va.c: Likewise.
+ * testsuite/libffi.call/cls_uint_va.c: Likewise.
+ * testsuite/libffi.call/cls_ulong_va.c: Likewise.
+ * testsuite/libffi.call/cls_ushort_va.c: Likewise.
+ * testsuite/libffi.call/nested_struct11.c: Likewise.
+ * testsuite/libffi.call/uninitialized.c: Likewise.
+ * testsuite/libffi.call/va_1.c: Likewise.
+ * testsuite/libffi.call/va_struct1.c: Likewise.
+ * testsuite/libffi.call/va_struct2.c: Likewise.
+ * testsuite/libffi.call/va_struct3.c: Likewise.
2012-10-12 Walter Lee <walt@tilera.com>
- * Makefile.am: Add TILE-Gx/TILEPro support.
- * configure.ac: Likewise.
- * Makefile.in: Regenerate.
- * configure: Likewise.
- * src/prep_cif.c (ffi_prep_cif_core): Handle TILE-Gx/TILEPro.
- * src/tile: New directory.
- * src/tile/ffi.c: New file.
- * src/tile/ffitarget.h: Ditto.
- * src/tile/tile.S: Ditto.
+ * Makefile.am: Add TILE-Gx/TILEPro support.
+ * configure.ac: Likewise.
+ * Makefile.in: Regenerate.
+ * configure: Likewise.
+ * src/prep_cif.c (ffi_prep_cif_core): Handle TILE-Gx/TILEPro.
+ * src/tile: New directory.
+ * src/tile/ffi.c: New file.
+ * src/tile/ffitarget.h: Ditto.
+ * src/tile/tile.S: Ditto.
2012-10-12 Matthias Klose <doko@ubuntu.com>
2011-07-11 Andrew Haley <aph@redhat.com>
- * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
+ * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
just return FFI_BAD_ABI when things are wrong.
-2012-02-11 Eric Botcazou <ebotcazou@adacore.com>
+2011-02-11 Eric Botcazou <ebotcazou@adacore.com>
* src/sparc/v9.S (STACKFRAME): Bump to 176.
2010-08-05 Dan Witte <dwitte@mozilla.com>
- * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
- debug CRT when --enable-debug is given.
- * configure.ac: Define it.
- * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
+ * Makefile.am: Pass FFI_DEBUG define to msvcc.sh for linking to the
+ debug CRT when --enable-debug is given.
+ * configure.ac: Define it.
+ * msvcc.sh: Translate -g and -DFFI_DEBUG appropriately.
2010-08-04 Dan Witte <dwitte@mozilla.com>
* src/*/ffitarget.h: Make FFI_LAST_ABI one past the last valid ABI.
* src/prep_cif.c: Fix ABI assertion.
- * src/cris/ffi.c: Ditto.
+ * src/cris/ffi.c: Ditto.
2010-07-10 Evan Phoenix <evan@fallingsnow.net>
testsuite/libffi.call/cls_2byte.c,
testsuite/libffi.call/cls_3_1byte.c,
testsuite/libffi.call/cls_3byte1.c,
- testsuite/libffi.call/cls_3byte2.c,
- testsuite/libffi.call/cls_4_1byte.c,
- testsuite/libffi.call/cls_4byte.c,
- testsuite/libffi.call/cls_5_1_byte.c,
- testsuite/libffi.call/cls_5byte.c,
- testsuite/libffi.call/cls_64byte.c,
- testsuite/libffi.call/cls_6_1_byte.c,
- testsuite/libffi.call/cls_6byte.c,
- testsuite/libffi.call/cls_7_1_byte.c,
- testsuite/libffi.call/cls_7byte.c,
- testsuite/libffi.call/cls_8byte.c,
- testsuite/libffi.call/cls_9byte1.c,
- testsuite/libffi.call/cls_9byte2.c,
- testsuite/libffi.call/cls_align_double.c,
- testsuite/libffi.call/cls_align_float.c,
- testsuite/libffi.call/cls_align_longdouble.c,
- testsuite/libffi.call/cls_align_longdouble_split.c,
- testsuite/libffi.call/cls_align_longdouble_split2.c,
- testsuite/libffi.call/cls_align_pointer.c,
- testsuite/libffi.call/cls_align_sint16.c,
- testsuite/libffi.call/cls_align_sint32.c,
- testsuite/libffi.call/cls_align_sint64.c,
- testsuite/libffi.call/cls_align_uint16.c,
- testsuite/libffi.call/cls_align_uint32.c,
- testsuite/libffi.call/cls_align_uint64.c,
- testsuite/libffi.call/cls_dbls_struct.c,
- testsuite/libffi.call/cls_double.c,
- testsuite/libffi.call/cls_double_va.c,
- testsuite/libffi.call/cls_float.c,
- testsuite/libffi.call/cls_longdouble.c,
- testsuite/libffi.call/cls_longdouble_va.c,
- testsuite/libffi.call/cls_multi_schar.c,
- testsuite/libffi.call/cls_multi_sshort.c,
- testsuite/libffi.call/cls_multi_sshortchar.c,
- testsuite/libffi.call/cls_multi_uchar.c,
- testsuite/libffi.call/cls_multi_ushort.c,
- testsuite/libffi.call/cls_multi_ushortchar.c,
- testsuite/libffi.call/cls_pointer.c,
- testsuite/libffi.call/cls_pointer_stack.c,
- testsuite/libffi.call/cls_schar.c,
- testsuite/libffi.call/cls_sint.c,
- testsuite/libffi.call/cls_sshort.c,
- testsuite/libffi.call/cls_uchar.c,
- testsuite/libffi.call/cls_uint.c,
- testsuite/libffi.call/cls_ulonglong.c,
- testsuite/libffi.call/cls_ushort.c,
- testsuite/libffi.call/err_bad_abi.c,
- testsuite/libffi.call/err_bad_typedef.c,
- testsuite/libffi.call/float2.c,
- testsuite/libffi.call/huge_struct.c,
- testsuite/libffi.call/nested_struct.c,
- testsuite/libffi.call/nested_struct1.c,
- testsuite/libffi.call/nested_struct10.c,
- testsuite/libffi.call/nested_struct2.c,
- testsuite/libffi.call/nested_struct3.c,
- testsuite/libffi.call/nested_struct4.c,
- testsuite/libffi.call/nested_struct5.c,
- testsuite/libffi.call/nested_struct6.c,
- testsuite/libffi.call/nested_struct7.c,
- testsuite/libffi.call/nested_struct8.c,
- testsuite/libffi.call/nested_struct9.c,
- testsuite/libffi.call/problem1.c,
- testsuite/libffi.call/return_ldl.c,
- testsuite/libffi.call/return_ll1.c,
- testsuite/libffi.call/stret_large.c,
- testsuite/libffi.call/stret_large2.c,
- testsuite/libffi.call/stret_medium.c,
- testsuite/libffi.call/stret_medium2.c,
+ testsuite/libffi.call/cls_3byte2.c,
+ testsuite/libffi.call/cls_4_1byte.c,
+ testsuite/libffi.call/cls_4byte.c,
+ testsuite/libffi.call/cls_5_1_byte.c,
+ testsuite/libffi.call/cls_5byte.c,
+ testsuite/libffi.call/cls_64byte.c,
+ testsuite/libffi.call/cls_6_1_byte.c,
+ testsuite/libffi.call/cls_6byte.c,
+ testsuite/libffi.call/cls_7_1_byte.c,
+ testsuite/libffi.call/cls_7byte.c,
+ testsuite/libffi.call/cls_8byte.c,
+ testsuite/libffi.call/cls_9byte1.c,
+ testsuite/libffi.call/cls_9byte2.c,
+ testsuite/libffi.call/cls_align_double.c,
+ testsuite/libffi.call/cls_align_float.c,
+ testsuite/libffi.call/cls_align_longdouble.c,
+ testsuite/libffi.call/cls_align_longdouble_split.c,
+ testsuite/libffi.call/cls_align_longdouble_split2.c,
+ testsuite/libffi.call/cls_align_pointer.c,
+ testsuite/libffi.call/cls_align_sint16.c,
+ testsuite/libffi.call/cls_align_sint32.c,
+ testsuite/libffi.call/cls_align_sint64.c,
+ testsuite/libffi.call/cls_align_uint16.c,
+ testsuite/libffi.call/cls_align_uint32.c,
+ testsuite/libffi.call/cls_align_uint64.c,
+ testsuite/libffi.call/cls_dbls_struct.c,
+ testsuite/libffi.call/cls_double.c,
+ testsuite/libffi.call/cls_double_va.c,
+ testsuite/libffi.call/cls_float.c,
+ testsuite/libffi.call/cls_longdouble.c,
+ testsuite/libffi.call/cls_longdouble_va.c,
+ testsuite/libffi.call/cls_multi_schar.c,
+ testsuite/libffi.call/cls_multi_sshort.c,
+ testsuite/libffi.call/cls_multi_sshortchar.c,
+ testsuite/libffi.call/cls_multi_uchar.c,
+ testsuite/libffi.call/cls_multi_ushort.c,
+ testsuite/libffi.call/cls_multi_ushortchar.c,
+ testsuite/libffi.call/cls_pointer.c,
+ testsuite/libffi.call/cls_pointer_stack.c,
+ testsuite/libffi.call/cls_schar.c,
+ testsuite/libffi.call/cls_sint.c,
+ testsuite/libffi.call/cls_sshort.c,
+ testsuite/libffi.call/cls_uchar.c,
+ testsuite/libffi.call/cls_uint.c,
+ testsuite/libffi.call/cls_ulonglong.c,
+ testsuite/libffi.call/cls_ushort.c,
+ testsuite/libffi.call/err_bad_abi.c,
+ testsuite/libffi.call/err_bad_typedef.c,
+ testsuite/libffi.call/float2.c,
+ testsuite/libffi.call/huge_struct.c,
+ testsuite/libffi.call/nested_struct.c,
+ testsuite/libffi.call/nested_struct1.c,
+ testsuite/libffi.call/nested_struct10.c,
+ testsuite/libffi.call/nested_struct2.c,
+ testsuite/libffi.call/nested_struct3.c,
+ testsuite/libffi.call/nested_struct4.c,
+ testsuite/libffi.call/nested_struct5.c,
+ testsuite/libffi.call/nested_struct6.c,
+ testsuite/libffi.call/nested_struct7.c,
+ testsuite/libffi.call/nested_struct8.c,
+ testsuite/libffi.call/nested_struct9.c,
+ testsuite/libffi.call/problem1.c,
+ testsuite/libffi.call/return_ldl.c,
+ testsuite/libffi.call/return_ll1.c,
+ testsuite/libffi.call/stret_large.c,
+ testsuite/libffi.call/stret_large2.c,
+ testsuite/libffi.call/stret_medium.c,
+ testsuite/libffi.call/stret_medium2.c,
testsuite/libffi.special/unwindtest.cc: use ffi_closure_alloc instead
of checking for MMAP. Use intptr_t instead of long casts.