]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libffi/ChangeLog
[Ada] Fix missing overflow checks in analysis of predefined unit
[thirdparty/gcc.git] / libffi / ChangeLog
index 75ce3bf230f3d6919450bbf670428a8e29bcda96..7ad4b70eb0069114c8a9f7a40d73bd10fd35ec04 100644 (file)
@@ -1,3 +1,947 @@
+2020-04-25  Maciej W. Rozycki  <macro@wdc.com>
+
+       * Makefile.am (DISTCLEANFILES): New variable.
+       * configure.ac: Produce `local.exp'.
+       * Makefile.in: Regenerate.
+       * configure: Regenerate.
+       * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
+       variable.
+       * testsuite/Makefile.in: Regenerate.
+
+2020-01-24  Maciej W. Rozycki  <macro@wdc.com>
+
+       * configure.ac: Handle `--with-toolexeclibdir='.
+       * Makefile.in: Regenerate.
+       * aclocal.m4: Regenerate.
+       * configure: Regenerate.
+       * include/Makefile.in: Regenerate.
+       * man/Makefile.in: Regenerate.
+       * testsuite/Makefile.in: Regenerate.
+
+2019-09-27  Maciej W. Rozycki  <macro@wdc.com>
+
+       * configure: Regenerate.
+
+2019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       PR other/79543
+       * acinclude.m4 (LIBAT_CHECK_LINKER_FEATURES): Fix GNU ld --version
+       scanning to conform to the GNU Coding Standards.
+       * configure: Regenerate.
+
+2018-10-31  Joseph Myers  <joseph@codesourcery.com>
+
+       PR bootstrap/82856
+       * Makefile.am: Include multilib.am.
+       (AUTOMAKE_OPTIONS): Add info-in-builddir.
+       (CLEANFILES): Remove doc/libffi.info.
+       * configure.ac: Remove AC_PREREQ.
+       * Makefile.in, aclocal.m4, configure, fficonfig.h.in,
+       include/Makefile.in, man/Makefile.in, testsuite/Makefile.in:
+       Regenerate.
+
+2018-08-15  Andreas Schwab  <schwab@suse.de>
+
+       Backport of RISC-V support for libffi go closures
+       * src/riscv/ffi.c (ffi_call_go, ffi_prep_go_closure): New
+       functions.
+       (ffi_call_int): Renamed from ffi_call.
+       (ffi_call_asm, ffi_closure_inner): Adjust interface.
+       * src/riscv/ffitarget.h (FFI_GO_CLOSURES): Define.
+       * src/riscv/sysv.S (ffi_go_closure_asm): New function.
+       (ffi_closure_asm, ffi_call_asm): Update for adjusted interfaces.
+
+2018-05-08  Andreas Schwab  <schwab@suse.de>
+
+       Backport of RISC-V support for libffi
+       * configure.host: Add RISC-V support.
+       * Makefile.am: Likewise.
+       * Makefile.in: Regenerate.
+       * src/riscv/ffi.c, src/riscv/ffitarget.h, src/riscv/sysv.S: New
+       files.
+
+2018-05-04  Alan Modra  <amodra@gmail.com>
+
+       Import from upstream
+       * src/powerpc/ffi_linux64.c (discover_homogeneous_aggregate):
+       Compile for ELFv1 too, handling single element aggregates.
+       (ffi_prep_cif_linux64_core): Call discover_homogeneous_aggregate
+       for ELFv1.  Set FLAG_RETURNS_64BITS for FFI_TYPE_POINTER return.
+       (ffi_prep_args64): Call discover_homogeneous_aggregate for ELFv1,
+       and handle single element structs containing float or double
+       as if the element wasn't wrapped in a struct.  Store floats in
+       second word of doubleword slot when big-endian.
+       (ffi_closure_helper_LINUX64): Similarly.
+
+2018-04-18  David Malcolm  <dmalcolm@redhat.com>
+
+       PR jit/85384
+       * configure: Regenerate.
+
+2017-08-31  Tony Reix  <tony.reix@atos.net>
+
+       * src/powerpc/aix.S (ffi_call_AIX): Add debugging pseudo-op and
+       labels for EH.
+       (ffi_call_go_AIX): New function.
+       (_GLOBAL__F_libffi_src_powerpc_aix): New EH frame.
+       * src/powerpc/aix_closure.S (ffi_closure_ASM): Add debugging
+       pseudo-op and labels for EH.
+       (ffi_go_closure_ASM): New function.
+       (_GLOBAL__F_libffi_src_powerpc_aix_closure): New EH frame.
+       * src/powrpc/ffi_darwin.c (ffi_call_go): New function.
+       (ffi_prep_go_closure): New function.
+       (ffi_closure_helper_common): Rename from ffi_closure_helper_DARWIN.
+       (ffi_closure_helper_DARWIN): Call ffi_closure_helper_common.
+       (ffi_go_closure_helper_DARWIN): Call ffi_closure_helper_common.
+       * src/powerpc/ffitarget.h (FFI_GO_CLOSURES): Define.
+
+2017-01-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/79046
+       * configure.ac: Add GCC_BASE_VER.
+       * include/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
+       of cat to get version from BASE-VER file.
+       * configure: Regenerated.
+       * testsuite/Makefile.in: Regenerated.
+       * include/Makefile.in: Regenerated.
+       * Makefile.in: Regenerated.
+       * man/Makefile.in: Regenerated.
+
+2016-11-15  Matthias Klose  <doko@ubuntu.com>
+
+       * configure: Regenerate.
+
+2016-09-04  John David Anglin  <danglin@gcc.gnu.org>
+
+       * src/pa/ffi.c (ffi_struct_type): Put type declaration on separate line.
+       (ffi_prep_args_pa32): Likewise.
+       (ffi_size_stack_pa32): Likewise.
+       (ffi_prep_cif_machdep): Likewise.
+       (ffi_call): Likewise.  Rename to ffi_call_int.  Add closure argument
+       and update call to ffi_call_pa32.
+       (ffi_call, ffi_call_go, ffi_prep_go_closure): New.
+       (ffi_closure_inner_pa32): Update to handle go closures.
+       * src/pa/ffitarget.h (FFI_GO_CLOSURES): Define.
+       * src/pa/hpux32.S (ffi_call_pa32): Pass go closure argument in static
+       chain register (%ret1).
+       (ffi_closure_pa32): Set closure type argument to zero.
+       (ffi_go_closure_pa32): New function.  Add unwind data for it.
+       * src/pa/linux.S: Likewise.  Use cfi directives for unwind data.
+       * testsuite/libffi.go/static-chain.h (STATIC_CHAIN_REG): Define for
+       hppa.
+
+2016-05-23  Thomas Schwinge  <thomas@codesourcery.com>
+
+       PR libffi/65567
+       * testsuite/lib/libffi.exp (libffi_feature_test): Fix, and simply.
+
+2016-03-17  Andreas Schwab  <schwab@suse.de>
+
+       * src/aarch64/ffitarget.h (FFI_SIZEOF_JAVA_RAW) [__ILP32__]:
+       Define.
+
+2016-03-02  Richard Henderson  <rth@redhat.com>
+
+       * libtool-version: Increase to 7:0:0.
+       * libffi.map.in: Increase version numbers to 7.0.
+
+2016-03-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * Makefile.am (libffi.map-sun): Properly convert
+       $(libffi_la_OBJECTS) to object names.
+       * Makefile.in: Regenerate.
+
+2016-03-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * Makefile.am (libffi.map-sun): Tabify:
+       * Makefile.in: Regenerate.
+
+2016-03-02  Richard Henderson  <rth@redhat.com>
+
+       PR libffi/70024
+       * Makefile.am (libffi_version_script): New.
+       (libffi_version_dep): New.
+       (libffi_version_info): New.
+       (libffi_la_LDFLAGS): Include libffi_version_info, libffi_version_script.
+       (libffi_la_DEPENDENCIES): Include libffi_version_dep.
+       * acinclude.m4 (LIBAT_ENABLE, LIBAT_CHECK_LINKER_FEATURES): New.
+       (LIBAT_ENABLE_SYMVERS, LIBAT_BUILD_VERSIONED_SHLIB): New.
+       (LIBAT_BUILD_VERSIONED_SHLIB_GNU): New.
+       (LIBAT_BUILD_VERSIONED_SHLIB_SUN): New.
+       * configure.ac: Invoke LIBAT_ENABLE_SYMVERS.
+       * libffi.map: New file.
+       * libtool-version: Increase to 5.0.0.
+       * Makefile.in, configure: Rebuild.
+       * man/Makefile.in, testsuite/Makefile.in: Rebuild.
+
+       * Makefile.am (libffi_version_script): Look in cwd for libffi.map.
+       (libffi_version_dep, libffi.map-sun): Likewise.
+       (libffi.map): New target.
+       * libffi.map.in: Rename from libffi.map.  Add required defines,
+       includes, and conditionals.
+
+2015-10-26  John David Anglin  <danglin@gcc.gnu.org>
+
+       PR libffi/65441
+       * testsuite/lib/libffi.exp: Load target-supports-dg.exp.
+       * testsuite/libffi.call/float2.c: Don't run on hppa*-*-hpux*.
+
+2015-10-01  Alan Modra  <amodra@gmail.com>
+
+       * src/powerpc/ffi_sysv.c (ffi_prep_cif_sysv_core): Count fprs,
+       gprs, and stack words separately.
+       (ffi_prep_args_SYSV): Similarly.
+
+2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>
+
+       * Makefile.in: Regenerated with automake-1.11.6.
+       * aclocal.m4: Likewise.
+       * configure: Likewise.
+       * fficonfig.h.in: Likewise.
+       * include/Makefile.in: Likewise.
+       * man/Makefile.in: Likewise.
+       * testsuite/Makefile.in: Likewise.
+
+2015-03-29  John David Anglin  <danglin@gcc.gnu.org>
+
+       PR libffi/65567
+       * testsuite/lib/libffi.exp (libffi_feature_test): Use split to ensure
+       lindex is applied to a list.
+
+2015-02-10  Andrew Pinski  <apinski@cavium.com>
+
+       * src/aarch64/ffitarget.h (ffi_arg): Use unsigned long long for ILP32.
+       (FFI_SIZEOF_ARG): Define to 64 for ILP32.
+       (ffi_sarg): Use signed long long for ILP32.
+
+       * src/aarch64/sysv.S (PTR_REG): New macro.
+       (PTR_SIZE): New macro.
+       (ffi_closure_SYSV): Load cif, fn and user_data using PTR_REG.
+       (ffi_go_closure_SYSV): Load cif and fn using PTR_REG.
+
+2015-01-29  Jack Howarth  <howarth.at.gcc@gmail.com>
+
+       PR libffi/64855
+       * testsuite/lib/libffi.exp: Don't set targetabis on darwin.
+
+2015-01-28  Richard Henderson  <rth@redhat.com>
+
+       PR libffi/64779
+       PR libffi/64799
+       * Merge to upstream commit db1b34b7e1f5e473d17557e454a29933dfecd1af.
+
+2015-01-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * testsuite/lib/libffi.exp: Load target-supports.exp.
+       (run-many-tests): Only set targetabis for ia32.
+
+2015-01-19  Richard Henderson  <rth@redhat.com>
+
+       PR libffi/64581
+       * testsuite/lib/libffi.exp (libffi_target_compile): Don't switch
+       to C++ mode when compiling C++ source code.
+
+2015-01-19  Richard Henderson  <rth@redhat.com>
+
+       * Merge to upstream commit 3ac1610aa33c887ea9b14935208943925714a33e.
+
+2015-01-19  Richard Henderson  <rth@redhat.com>
+
+       PR libffi/64607
+       * testsuite/lib/libffi.exp (libffi-init): Append -L for the
+       just built libstdc++.
+
+2015-01-15  Dominique d'Humieres  <dominiq@lps.ens.fr>
+           Richard Henderson  <rth@redhat.com>
+
+       PR libffi/64607
+       * Makefile.am (AM_MAKEFLAGS): Use double quotes on subvariables.
+       * Makefile.in: Rebuilt.
+
+2015-01-15  Richard Henderson  <rth@redhat.com>
+
+       PR libffi/64572
+       * include/ffi.h.in (FFI_TYPE_LAST): Set to COMPLEX only if complex
+       numbers are supported by the backend.
+
+2015-01-13  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * configure.host: Remove extra brackets for sh.
+
+2015-01-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR bootstrap/64575
+       * configure.host (TARGET): Set to X86_64 if __x86_64__ is defined.
+
+2015-01-12  Richard Henderson  <rth@redhat.com>
+
+       PR libffi/64572
+       * src/x86/ffitarget.h (FFI_GO_CLOSURES): Do not define for darwin.
+       (FFI_TARGET_HAS_COMPLEX_TYPE): Likewise.
+
+2015-01-12  Richard Henderson  <rth@redhat.com>
+
+       * src/x86/ffi.c (ffi_raw_call): Fill in frame.
+
+2015-01-12  Richard Henderson  <rth@redhat.com>
+
+       Merge to upstream commit c82cc159426d8d4402375fa1ae3f045b9cf82e16.
+
+2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR bootstrap/63784
+       * configure: Regenerated.
+
+2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR target/63610
+       * configure: Regenerate.
+
+2014-10-15  Ian Lance Taylor  <iant@google.com>
+
+       * configure.ac: If the compiler supports -Qunused-arguments, use
+       it when running the compiler on .s files.
+       * configure: Regenerated.
+
+2014-09-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * src/powerpc/linux64.S: Emit .note.GNU-stack even when
+       POWERPC64 is not defined.
+       * src/powerpc/linux64_closure.S: Likewise.  Also test _CALL_ELF == 2.
+
+2014-07-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       * src/alpha/ffi.c: Do not include stdlib.h.
+       (ffi_closure_osf_inner) <default>: Use FFI_ASSERT instead of abort.
+
+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.
+       * src/powerpc/linux64.S: Likewise.
+
+2012-10-30  Magnus Granberg  <zorry@gentoo.org>
+           Pavel Labushev  <pavel.labushev@runbox.ru>
+
+       * configure.ac: New options pax_emutramp
+       * configure, fficonfig.h.in: Regenerated
+       * src/closures.c: New function emutramp_enabled_check() and
+       checks.
+
+2012-10-30  Frederick Cheung  <frederick.cheung@gmail.com>
+
+       * configure.ac: Enable FFI_MAP_EXEC_WRIT for Darwin 12 (mountain
+       lion) and future version.
+       * configure: Rebuild.
+
+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.
+       * 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.
+
+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.
+
+2012-10-12  Matthias Klose  <doko@ubuntu.com>
+
+       * generate-osx-source-and-headers.py: Normalize whitespace.
+
+2012-09-14  David Edelsohn  <dje.gcc@gmail.com>
+
+       * configure: Regenerated.
+
+2012-08-26  Andrew Pinski  <apinski@cavium.com>
+
+       PR libffi/53014
+       * src/mips/ffi.c (ffi_prep_closure_loc): Allow n32 with soft-float and n64 with
+       soft-float.
+
+2012-08-08  Uros Bizjak  <ubizjak@gmail.com>
+
+       * src/s390/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
+       just return FFI_BAD_ABI when things are wrong.
+
+2012-07-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR libffi/53982
+       PR libffi/53973
+       * src/x86/ffitarget.h: Check __ILP32__ instead of __LP64__ for x32.
+       (FFI_SIZEOF_JAVA_RAW): Defined to 4 for x32.
+
+2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure: Regenerated.
+
+2012-05-05  Nicolas Lelong
+
+       * libffi.xcodeproj/project.pbxproj: Fixes.
+       * README: Update for iOS builds.
+
+2012-04-23  Alexandre Keunecke I. de Mendonca <alexandre.keunecke@gmail.com>
+
+       * configure.ac: Add Blackfin/sysv support
+       * Makefile.am: Add Blackfin/sysv support
+       * src/bfin/ffi.c:  Add Blackfin/sysv support
+       * src/bfin/ffitarget.h: Add Blackfin/sysv support
+
+2012-04-11  Anthony Green  <green@moxielogic.com>
+
+       * Makefile.am (EXTRA_DIST): Add new script.
+       * Makefile.in: Rebuilt.
+
+2012-04-11  Zachary Waldowski  <zwaldowski@gmail.com>
+
+       * generate-ios-source-and-headers.py,
+       libffi.xcodeproj/project.pbxproj: Support a Mac static library via
+       Xcode. Set iOS compatibility to 4.0.  Move iOS trampoline
+       generation into an Xcode "run script" phase.  Include both as
+       Xcode build scripts. Don't always regenerate config files.
+
+2012-04-10  Anthony Green  <green@moxielogic.com>
+
+       * src/powerpc/ffi_darwin.c (ffi_prep_args): Add missing semicolon.
+
+2012-04-06  Anthony Green  <green@moxielogic.com>
+
+       * Makefile.am (EXTRA_DIST): Add new iOS/xcode files.
+       * Makefile.in: Rebuilt.
+
+2012-04-06  Mike Lewis  <mikelikespie@gmail.com>
+
+       * generate-ios-source-and-headers.py: New file.
+       * libffi.xcodeproj/project.pbxproj: New file.
+       * README: Update instructions on building iOS binary.
+       * build-ios.sh: Delete.
+
+2012-04-06  Anthony Green  <green@moxielogic.com>
+
+       * src/x86/ffi64.c (UINT128): Define differently for Intel and GNU
+       compilers, then use it.
+
+2012-04-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * m4/libtool.m4 (_LT_ENABLE_LOCK): Support x32.
+
+2012-04-06  Anthony Green  <green@moxielogic.com>
+
+       * testsuite/Makefile.am (EXTRA_DIST): Add missing test cases.
+       * testsuite/Makefile.in: Rebuilt.
+
+2012-04-05  Zachary Waldowski  <zwaldowski@gmail.com>
+
+       * include/ffi.h.in: Add missing trampoline table fields.
+       * src/arm/sysv.S: Fix ENTRY definition, and wrap symbol references
+       in CNAME.
+       * src/x86/ffi.c: Wrap Windows specific code in ifdefs.
+
+2012-03-29  Peter Rosin  <peda@lysator.liu.se>
+
+       * src/x86/win32.S (ffi_closure_raw_THISCALL): Unify the frame
+       generation, fix the ENDP label and remove the surplus third arg
+       from the 'lea' insn.
+
+2012-03-29  Peter Rosin  <peda@lysator.liu.se>
+
+       * src/x86/win32.S (ffi_closure_raw_SYSV): Make the 'stubraw' label
+       visible outside the PROC, so that ffi_closure_raw_THISCALL can see
+       it.  Also instruct the assembler to add a frame to the function.
+
+2012-03-23  Peter Rosin  <peda@lysator.liu.se>
+
+       * Makefile.am (AM_CPPFLAGS): Add -DFFI_BUILDING.
+       * Makefile.in: Rebuilt.
+       * include/ffi.h.in [MSVC]: Add __declspec(dllimport) decorations
+       to all data exports, when compiling libffi clients using MSVC.
+
+2012-03-29  Peter Rosin  <peda@lysator.liu.se>
+
+       * src/x86/ffitarget.h (ffi_abi): Add new ABI FFI_MS_CDECL and
+       make it the default for MSVC.
+       (FFI_TYPE_MS_STRUCT): New structure return convention.
+       * src/x86/ffi.c (ffi_prep_cif_machdep): Tweak the structure
+       return convention for FFI_MS_CDECL to be FFI_TYPE_MS_STRUCT
+       instead of an ordinary FFI_TYPE_STRUCT.
+       (ffi_prep_args): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
+       (ffi_call): Likewise.
+       (ffi_prep_incoming_args_SYSV): Likewise.
+       (ffi_raw_call): Likewise.
+       (ffi_prep_closure_loc): Treat FFI_MS_CDECL as FFI_SYSV.
+       * src/x86/win32.S (ffi_closure_SYSV): For FFI_TYPE_MS_STRUCT,
+       return a pointer to the result structure in eax and don't pop
+       that pointer from the stack, the caller takes care of it.
+       (ffi_call_win32): Treat FFI_TYPE_MS_STRUCT as FFI_TYPE_STRUCT.
+       (ffi_closure_raw_SYSV): Likewise.
+
+2012-03-22  Peter Rosin  <peda@lysator.liu.se>
+
+       * testsuite/libffi.call/closure_stdcall.c [MSVC]: Add inline
+       assembly version with Intel syntax.
+       * testsuite/libffi.call/closure_thiscall.c [MSVC]: Likewise.
+
+2012-03-23  Peter Rosin  <peda@lysator.liu.se>
+
+       * testsuite/libffi.call/ffitest.h: Provide abstration of
+       __attribute__((fastcall)) in the form of a __FASTCALL__
+       define.  Define it to __fastcall for MSVC.
+       * testsuite/libffi.call/fastthis1_win32.c: Use the above.
+       * testsuite/libffi.call/fastthis2_win32.c: Likewise.
+       * testsuite/libffi.call/fastthis3_win32.c: Likewise.
+       * testsuite/libffi.call/strlen2_win32.c: Likewise.
+       * testsuite/libffi.call/struct1_win32.c: Likewise.
+       * testsuite/libffi.call/struct2_win32.c: Likewise.
+
+2012-03-22  Peter Rosin  <peda@lysator.liu.se>
+
+       * src/x86/win32.S [MSVC] (ffi_closure_THISCALL): Remove the manual
+       frame on function entry, MASM adds one automatically.
+
+2012-03-22  Peter Rosin  <peda@lysator.liu.se>
+
+       * testsuite/libffi.call/ffitest.h [MSVC]: Add kludge for missing
+       bits in the MSVC headers.
+
+2012-03-22  Peter Rosin  <peda@lysator.liu.se>
+
+       * testsuite/libffi.call/cls_12byte.c: Adjust to the C89 style
+       with no declarations after statements.
+       * testsuite/libffi.call/cls_16byte.c: Likewise.
+       * testsuite/libffi.call/cls_18byte.c: Likewise.
+       * testsuite/libffi.call/cls_19byte.c: Likewise.
+       * testsuite/libffi.call/cls_1_1byte.c: Likewise.
+       * testsuite/libffi.call/cls_20byte.c: Likewise.
+       * testsuite/libffi.call/cls_20byte1.c: Likewise.
+       * testsuite/libffi.call/cls_24byte.c: Likewise.
+       * testsuite/libffi.call/cls_2byte.c: Likewise.
+       * testsuite/libffi.call/cls_3_1byte.c: Likewise.
+       * testsuite/libffi.call/cls_3byte1.c: Likewise.
+       * testsuite/libffi.call/cls_3byte2.c: Likewise.
+       * testsuite/libffi.call/cls_4_1byte.c: Likewise.
+       * testsuite/libffi.call/cls_4byte.c: Likewise.
+       * testsuite/libffi.call/cls_5_1_byte.c: Likewise.
+       * testsuite/libffi.call/cls_5byte.c: Likewise.
+       * testsuite/libffi.call/cls_64byte.c: Likewise.
+       * testsuite/libffi.call/cls_6_1_byte.c: Likewise.
+       * testsuite/libffi.call/cls_6byte.c: Likewise.
+       * testsuite/libffi.call/cls_7_1_byte.c: Likewise.
+       * testsuite/libffi.call/cls_7byte.c: Likewise.
+       * testsuite/libffi.call/cls_8byte.c: Likewise.
+       * testsuite/libffi.call/cls_9byte1.c: Likewise.
+       * testsuite/libffi.call/cls_9byte2.c: Likewise.
+       * testsuite/libffi.call/cls_align_double.c: Likewise.
+       * testsuite/libffi.call/cls_align_float.c: Likewise.
+       * testsuite/libffi.call/cls_align_longdouble.c: Likewise.
+       * testsuite/libffi.call/cls_align_longdouble_split.c: Likewise.
+       * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
+       * testsuite/libffi.call/cls_align_pointer.c: Likewise.
+       * testsuite/libffi.call/cls_align_sint16.c: Likewise.
+       * testsuite/libffi.call/cls_align_sint32.c: Likewise.
+       * testsuite/libffi.call/cls_align_sint64.c: Likewise.
+       * testsuite/libffi.call/cls_align_uint16.c: Likewise.
+       * testsuite/libffi.call/cls_align_uint32.c: Likewise.
+       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
+       * testsuite/libffi.call/cls_dbls_struct.c: Likewise.
+       * testsuite/libffi.call/cls_pointer_stack.c: Likewise.
+       * testsuite/libffi.call/err_bad_typedef.c: Likewise.
+       * testsuite/libffi.call/huge_struct.c: Likewise.
+       * testsuite/libffi.call/nested_struct.c: Likewise.
+       * testsuite/libffi.call/nested_struct1.c: Likewise.
+       * testsuite/libffi.call/nested_struct10.c: Likewise.
+       * testsuite/libffi.call/nested_struct2.c: Likewise.
+       * testsuite/libffi.call/nested_struct3.c: Likewise.
+       * testsuite/libffi.call/nested_struct4.c: Likewise.
+       * testsuite/libffi.call/nested_struct5.c: Likewise.
+       * testsuite/libffi.call/nested_struct6.c: Likewise.
+       * testsuite/libffi.call/nested_struct7.c: Likewise.
+       * testsuite/libffi.call/nested_struct8.c: Likewise.
+       * testsuite/libffi.call/nested_struct9.c: Likewise.
+       * testsuite/libffi.call/stret_large.c: Likewise.
+       * testsuite/libffi.call/stret_large2.c: Likewise.
+       * testsuite/libffi.call/stret_medium.c: Likewise.
+       * testsuite/libffi.call/stret_medium2.c: Likewise.
+       * testsuite/libffi.call/struct1.c: Likewise.
+       * testsuite/libffi.call/struct1_win32.c: Likewise.
+       * testsuite/libffi.call/struct2.c: Likewise.
+       * testsuite/libffi.call/struct2_win32.c: Likewise.
+       * testsuite/libffi.call/struct3.c: Likewise.
+       * testsuite/libffi.call/struct4.c: Likewise.
+       * testsuite/libffi.call/struct5.c: Likewise.
+       * testsuite/libffi.call/struct6.c: Likewise.
+       * testsuite/libffi.call/struct7.c: Likewise.
+       * testsuite/libffi.call/struct8.c: Likewise.
+       * testsuite/libffi.call/struct9.c: Likewise.
+       * testsuite/libffi.call/testclosure.c: Likewise.
+
+2012-03-21  Peter Rosin         <peda@lysator.liu.se>
+
+       * testsuite/libffi.call/float_va.c (float_va_fn): Use %f when
+       printing doubles (%lf is for long doubles).
+       (main): Likewise.
+
+2012-03-21  Peter Rosin  <peda@lysator.liu.se>
+
+       * testsuite/lib/target-libpath.exp [*-*-cygwin*, *-*-mingw*]
+       (set_ld_library_path_env_vars): Add the library search dir to PATH
+       (and save PATH for later).
+       (restore_ld_library_path_env_vars): Restore PATH.
+
+2012-03-20  Peter Rosin  <peda@lysator.liu.se>
+
+       * testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
+       * src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
+       visible outside the PROC, so that ffi_closure_THISCALL can see it.
+
+2012-03-20  Peter Rosin  <peda@lysator.liu.se>
+
+       * testsuite/libffi.call/strlen2_win32.c (main): Remove bug.
+       * src/x86/win32.S [MSVC] (ffi_closure_SYSV): Make the 'stub' label
+       visible outside the PROC, so that ffi_closure_THISCALL can see it.
+
+2012-03-19  Alan Hourihane  <alanh@fairlite.co.uk>
+
+       * src/m68k/ffi.c: Add MINT support.
+       * src/m68k/sysv.S: Ditto.
+
+2012-03-19  chennam  <csit@axway.com>
+
+       * src/powerpc/ffi_darwin.c (ffi_prep_closure_loc): Fix AIX closure
+       support.
+
+2012-03-06  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * src/arm/ffi.c (ffi_call): Add __ARM_EABI__ guard around call to
+       ffi_call_VFP().
+       (ffi_prep_closure_loc): Add __ARM_EABI__ guard around use of
+       ffi_closure_VFP.
+       * src/arm/sysv.S: Add __ARM_EABI__ guard around VFP code.
+
+2012-04-02  Peter Bergner  <bergner@vnet.ibm.com>
+
+       * src/powerpc/ffi.c (ffi_prep_args_SYSV): Declare double_tmp.
+       Silence casting pointer to integer of different size warning.
+       Delete goto to previously deleted label.
+       (ffi_call): Silence possibly undefined warning.
+       (ffi_closure_helper_SYSV): Declare variable type.
+
+2012-04-02  Peter Rosin  <peda@lysator.liu.se>
+
+       * src/x86/win32.S (ffi_call_win32): Sign/zero extend the return
+       value in the Intel version as is already done for the AT&T version.
+       (ffi_closure_SYSV): Likewise.
+       (ffi_closure_raw_SYSV): Likewise.
+       (ffi_closure_STDCALL): Likewise.
+
+2012-03-13  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * src/sh/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
+       just return FFI_BAD_ABI when things are wrong.
+       * src/sh64/ffi.c (ffi_prep_closure_loc): Ditto.
+
+2012-03-09  David Edelsohn  <dje.gcc@gmail.com>
+
+       * src/powerpc/aix_closure.S (ffi_closure_ASM): Adjust for Darwin64
+       change to return value of ffi_closure_helper_DARWIN and load type
+       from return type.
+
+2012-03-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * src/x86/ffi64.c (ffi_call): Cast the return value to unsigned
+       long.
+       (ffi_prep_closure_loc): Cast to 64bit address in trampoline.
+       (ffi_closure_unix64_inner): Cast return pointer to unsigned long
+       first.
+
+       * src/x86/ffitarget.h (FFI_SIZEOF_ARG): Defined to 8 for x32.
+       (ffi_arg): Set to unsigned long long for x32.
+       (ffi_sarg): Set to long long for x32.
+
+2012-03-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * src/prep_cif.c (ffi_prep_cif_core): Properly check bad ABI.
+
+2012-03-03  Andoni Morales Alastruey  <ylatuya@gmail.com>
+
+       * configure.ac: Add -no-undefined for both 32- and 64-bit x86
+       windows-like hosts.
+       * configure: Rebuilt.
+
+2012-02-27  Mikael Pettersson  <mikpe@it.uu.se>
+
+       PR libffi/52223
+       * Makefile.am (FLAGS_TO_PASS): Define.
+       * Makefile.in: Regenerate.
+
+2012-02-23  Anthony Green  <green@moxielogic.com>
+
+       * src/*/ffitarget.h: Ensure that users never include ffitarget.h
+       directly.
+
+2012-02-23  Kai Tietz  <ktietz@redhat.com>
+
+       PR libffi/52221
+       * src/x86/ffi.c (ffi_closure_raw_THISCALL): New
+       prototype.
+       (ffi_prep_raw_closure_loc): Use ffi_closure_raw_THISCALL for
+       thiscall-convention.
+       (ffi_raw_call): Use ffi_prep_args_raw.
+       * src/x86/win32.S (ffi_closure_raw_THISCALL): Add
+       implementation for stub.
+
+2012-02-10  Kai Tietz  <ktietz@redhat.com>
+
+       * configure.ac (AM_LTLDFLAGS): Add -no-undefine for x64
+       windows target.
+       * configure: Regenerated.
+
+2012-02-08  Kai Tietz  <ktietz@redhat.com>
+
+       * src/prep_cif.c (ffi_prep_cif): Allow for X86_WIN32
+       also FFI_THISCALL.
+       * src/x86/ffi.c (ffi_closure_THISCALL): Add prototype.
+       (FFI_INIT_TRAMPOLINE_THISCALL): New trampoline code.
+       (ffi_prep_closure_loc): Add FFI_THISCALL support.
+       * src/x86/ffitarget.h (FFI_TRAMPOLINE_SIZE): Adjust size.
+       * src/x86/win32.S (ffi_closure_THISCALL): New closure code
+       for thiscall-calling convention.
+       * testsuite/libffi.call/closure_thiscall.c: New test.
+
+2012-01-28  Kai Tietz  <ktietz@redhat.com>
+
+       * src/libffi/src/x86/ffi.c (ffi_call_win32): Add new
+       argument to prototype for specify calling-convention.
+       (ffi_call): Add support for stdcall/thiscall convention.
+       (ffi_prep_args): Likewise.
+       (ffi_raw_call): Likewise.
+       * src/x86/ffitarget.h (ffi_abi): Add FFI_THISCALL and
+       FFI_FASTCALL.
+       * src/x86/win32.S (_ffi_call_win32): Add support for
+       fastcall/thiscall calling-convention calls.
+       * testsuite/libffi.call/fastthis1_win32.c: New test.
+       * testsuite/libffi.call/fastthis2_win32.c: New test.
+       * testsuite/libffi.call/fastthis3_win32.c: New test.
+       * testsuite/libffi.call/strlen2_win32.c: New test.
+       * testsuite/libffi.call/many2_win32.c: New test.
+       * testsuite/libffi.call/struct1_win32.c: New test.
+       * testsuite/libffi.call/struct2_win32.c: New test.
+
+2012-01-23  Uros Bizjak  <ubizjak@gmail.com>
+
+       * src/alpha/ffi.c (ffi_prep_closure_loc): Check for bad ABI.
+
+2012-01-23  Anthony Green  <green@moxielogic.com>
+           Chris Young  <cdyoung@ntlworld.com>
+
+       * configure.ac: Add Amiga support.
+       * configure: Rebuilt.
+
+2012-01-23  Dmitry Nadezhin  <dmitry.nadezhin@gmail.com>
+
+       * include/ffi_common.h (LIKELY, UNLIKELY): Fix definitions.
+
+2012-01-23  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * src/m68k/sysv.S (ffi_call_SYSV): Properly test for plain
+       mc68000.  Test for __HAVE_68881__ in addition to __MC68881__.
+
 2012-01-19  Jakub Jelinek  <jakub@redhat.com>
 
        PR rtl-optimization/48496
 
        * configure: Regenerate.
 
+2011-11-12  David Gilbert <david.gilbert@linaro.org>
+
+       * doc/libffi.texi, include/ffi.h.in, include/ffi_common.h,
+       man/Makefile.am, man/ffi.3, man/ffi_prep_cif.3,
+       man/ffi_prep_cif_var.3, src/arm/ffi.c, src/arm/ffitarget.h,
+       src/cris/ffi.c, src/prep_cif.c,
+       testsuite/libffi.call/cls_double_va.c,
+       testsuite/libffi.call/cls_longdouble_va.c,
+       testsuite/libffi.call/float_va.c: Many changes to support variadic
+       function calls.
+
+2011-11-12  Kyle Moffett <Kyle.D.Moffett@boeing.com>
+
+       * src/powerpc/ffi.c, src/powerpc/ffitarget.h,
+       src/powerpc/ppc_closure.S, src/powerpc/sysv.S: Many changes for
+       softfloat powerpc variants.
+
+2011-11-12  Petr Salinger <Petr.Salinger@seznam.cz>
+
+       * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Fix kfreebsd support.
+       * configure: Rebuilt.
+
+2011-11-12  Timothy Wall  <twall@users.sf.net>
+
+       * src/arm/ffi.c (ffi_prep_args, ffi_prep_incoming_args_SYSV): Max
+       alignment of 4 for wince on ARM.
+
+2011-11-12  Kyle Moffett <Kyle.D.Moffett@boeing.com>
+           Anthony Green <green@moxielogic.com>
+
+       * src/ppc/sysv.S, src/ppc/ffi.c: Remove use of ppc string
+       instructions (not available on some cores, like the PPC440).
+
+2011-11-12  Kimura Wataru  <kimuraw@i.nifty.jp>
+
+       * m4/ax_enable_builddir: Change from string comparison to numeric
+       comparison for wc output.
+       * configure.ac: Enable FFI_MMAP_EXEC_WRIT for darwin11 aka Mac OS
+       X 10.7.
+       * configure: Rebuilt.
+
+2011-11-12  Anthony Green  <green@moxielogic.com>
+
+       * Makefile.am (AM_CCASFLAGS): Add -g option to build assembly
+       files with debug info.
+       * Makefile.in: Rebuilt.
+
+2011-11-12  Jasper Lievisse Adriaanse <jasper@openbsd.org>
+
+       * README: Update list of supported OpenBSD systems.
+
+2011-11-12  Anthony Green  <green@moxielogic.com>
+
+       * libtool-version: Update.
+       * Makefile.am (nodist_libffi_la_SOURCES): Add src/debug.c if
+       FFI_DEBUG.
+       (libffi_la_SOURCES): Remove src/debug.c
+       (EXTRA_DIST): Add src/debug.c
+       * Makefile.in: Rebuilt.
+       * README: Update for 3.0.11.
+
 2011-11-10  Richard Henderson  <rth@redhat.com>
 
        * configure.ac (GCC_AS_CFI_PSEUDO_OP): Use it instead of inline check.
 
 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>
 
        Use them to handle ELF vs. ECOFF differences.
        [__osf__] (_GLOBAL__F_ffi_call_osf): Define.
 
+2011-03-30  Timothy Wall  <twall@users.sf.net>
+
+       * src/powerpc/darwin.S: Fix unknown FDE encoding.
+       * src/powerpc/darwin_closure.S: ditto.
+
+2011-02-25  Anthony Green  <green@moxielogic.com>
+
+       * src/powerpc/ffi.c (ffi_prep_closure_loc): Allow for more
+       32-bit ABIs.
+
+2011-02-15  Anthony Green  <green@moxielogic.com>
+
+       * m4/ax_cc_maxopt.m4: Don't -malign-double or use -ffast-math.
+       * configure: Rebuilt.
+
 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        * configure: Regenerate.
 
+2011-02-13  Anthony Green  <green@moxielogic.com>
+
+       * include/ffi_common.h (UNLIKELY, LIKELY): Define.
+       * src/x86/ffi64.c (UNLIKELY, LIKELY): Remove definition.
+       * src/prep_cif.c (UNLIKELY, LIKELY): Remove definition.
+
+       * src/prep_cif.c (initialize_aggregate): Convert assertion into
+       FFI_BAD_TYPEDEF return.  Initialize arg size and alignment to 0.
+
+       * src/pa/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
+       just return FFI_BAD_ABI when things are wrong.
+       * src/arm/ffi.c (ffi_prep_closure_loc): Ditto.
+       * src/powerpc/ffi.c (ffi_prep_closure_loc): Ditto.
+       * src/mips/ffi.c (ffi_prep_closure_loc): Ditto.
+       * src/ia64/ffi.c (ffi_prep_closure_loc): Ditto.
+       * src/avr32/ffi.c (ffi_prep_closure_loc): Ditto.
+
+2011-02-11  Anthony Green  <green@moxielogic.com>
+
+       * src/sparc/ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test,
+       just return FFI_BAD_ABI when things are wrong.
+
+2011-02-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * src/sparc/v9.S (STACKFRAME): Bump to 176.
+
+2011-02-09  Stuart Shelton  <srcshelton@gmail.com>
+
+       http://bugs.gentoo.org/show_bug.cgi?id=286911
+       * src/mips/ffitarget.h: Clean up error messages.
+       * src/java_raw_api.c (ffi_java_translate_args): Cast raw arg to
+       ffi_raw*.
+       * include/ffi.h.in: Add pragma for SGI compiler.
+
+2011-02-09  Anthony Green  <green@moxielogic.com>
+
+       * configure.ac: Add powerpc64-*-darwin* support.
+
+2011-02-09  Anthony Green <green@moxielogic.com>
+
+       * README: Mention Interix.
+
+2011-02-09  Jonathan Callen  <abcd@gentoo.org>
+
+       * configure.ac: Add Interix to win32/cygwin/mingw case.
+       * configure: Ditto.
+       * src/closures.c: Treat Interix like Cygwin, instead of as a
+       generic win32.
+
+2011-02-09  Anthony Green <green@moxielogic.com>
+
+       * testsuite/libffi.call/err_bad_typedef.c: Remove xfail.
+       * testsuite/libffi.call/err_bad_abi.c: Remove xfail.
+       * src/x86/ffi64.c (UNLIKELY, LIKELY): Define.
+       (ffi_prep_closure_loc): Check for bad ABI.
+       * src/prep_cif.c (UNLIKELY, LIKELY): Define.
+       (initialize_aggregate): Check for bad types.
+
+2011-02-09  Landon Fuller <landonf@plausible.coop>
+
+       * Makefile.am (EXTRA_DIST): Add build-ios.sh, src/arm/gentramp.sh,
+       src/arm/trampoline.S.
+       (nodist_libffi_la_SOURCES): Add src/arc/trampoline.S.
+       * configure.ac (FFI_EXEC_TRAMPOLINE_TABLE): Define.
+       * src/arm/ffi.c (ffi_trampoline_table)
+       (ffi_closure_trampoline_table_page, ffi_trampoline_table_entry)
+       (FFI_TRAMPOLINE_CODELOC_CONFIG, FFI_TRAMPOLINE_CONFIG_PAGE_OFFSET)
+       (FFI_TRAMPOLINE_COUNT, ffi_trampoline_lock, ffi_trampoline_tables)
+       (ffi_trampoline_table_alloc, ffi_closure_alloc, ffi_closure_free):
+       Define for FFI_EXEC_TRAMPOLINE_TABLE case (iOS).
+       (ffi_prep_closure_loc): Handl FFI_EXEC_TRAMPOLINE_TABLE case
+       separately.
+       * src/arm/sysv.S: Handle Apple iOS host.
+       * src/closures.c: Handle FFI_EXEC_TRAMPOLINE_TABLE case.
+       * build-ios.sh: New file.
+       * fficonfig.h.in, configure, Makefile.in: Rebuilt.
+       * README: Mention ARM iOS.
+
+2011-02-08  Oren Held  <orenhe@il.ibm.com>
+
+       * src/dlmalloc.c (_STRUCT_MALLINFO): Define in order to avoid
+       redefinition of mallinfo on HP-UX.
+
+2011-02-08  Ginn Chen  <ginn.chen@oracle.com>
+
+       * src/sparc/ffi.c (ffi_call): Make compatible with Solaris Studio
+       aggregate return ABI.  Flush cache.
+       (ffi_prep_closure_loc): Flush cache.
+
+2011-02-11  Anthony Green  <green@moxielogic.com>
+
+       From Tom Honermann <tom.honermann@oracle.com>:
+       * src/powerpc/aix.S (ffi_call_AIX): Support for xlc toolchain on
+       AIX.  Declare .ffi_prep_args.  Insert nops after branch
+       instructions so that the AIX linker can insert TOC reload
+       instructions.
+       * src/powerpc/aix_closure.S: Declare .ffi_closure_helper_DARWIN.
+
+2011-02-08  Ed  <ed@kdtc.net>
+
+       * src/powerpc/asm.h: Fix grammar nit in comment.
+
+2011-02-08  Uli Link  <ul.mcamafia@linkitup.de>
+
+       * include/ffi.h.in (FFI_64_BIT_MAX): Define and use.
+
 2011-02-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        PR libffi/46661
        uintptr_t first.
        * testsuite/libffi.call/cls_pointer_stack.c (main): Likewise.
 
+2011-02-08  Rafael Avila de Espindola  <respindola@mozilla.com>
+
+       * configure.ac: Fix x86 test for pc related relocs.
+       * configure: Rebuilt.
+
 2011-02-07  Joel Sherrill <joel.sherrill@oarcorp.com>
 
        * libffi/src/m68k/ffi.c: Add RTEMS support for cache flushing.
        (.eh_frame): Use FDE_ENCODING.
        (.LASFDE1, .LASFDE2, LASFDE3): Simplify with FDE_ENCODE.
 
+2010-11-22  Jacek Caban <jacek@codeweavers.com>
+
+       * configure.ac: Check for symbol underscores on mingw-w64.
+       * configure: Rebuilt.
+       * src/x86/win64.S: Correctly access extern symbols in respect to
+       underscores.
+
 2010-11-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        * testsuite/lib/libffi-dg.exp: Rename ...
        * testsuite/libffi.call/cls_longdouble.c: Likewise.
        * testsuite/libffi.call/huge_struct.c: Likewise.
 
+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.
+
+2010-08-04  Dan Witte  <dwitte@mozilla.com>
+
+       * src/x86/ffitarget.h: Add X86_ANY define for all x86/x86_64
+       platforms.
+       * src/x86/ffi.c: Remove redundant ifdef checks.
+       * src/prep_cif.c: Push stack space computation into src/x86/ffi.c
+       for X86_ANY so return value space doesn't get added twice.
+
+2010-08-03  Neil Rashbrooke <neil@parkwaycc.co.uk>
+
+       * msvcc.sh: Don't pass -safeseh to ml64 because behavior is buggy.
+
+2010-07-22  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.
+
 2010-07-10  Evan Phoenix  <evan@fallingsnow.net>
 
        * src/closures.c (selinux_enabled_check): Fix strncmp usage bug.
        * fficonfig.h.in: Regenerate.
        * src/x86/sysv.S (.eh_frame): Use .ascii, .string or error.
 
+2010-05-11  Dan Witte  <dwitte@mozilla.com>
+
+       * doc/libffi.tex: Document previous change.
+
+2010-05-11  Makoto Kato <m_kato@ga2.so-net.ne.jp>
+
+       * src/x86/ffi.c (ffi_call): Don't copy structs passed by value.
+
 2010-05-05  Michael Kohler <michaelkohler@live.com>
 
        * src/dlmalloc.c (dlfree): Fix spelling.
        * man/Makefile.in: Regenerate.
        * testsuite/Makefile.in: Regenerate.
 
+2010-03-30  Dan Witte  <dwitte@mozilla.com>
+
+       * msvcc.sh: Disable build warnings.
+       * README (tested): Clarify windows build procedure.
+
 2010-03-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        * configure.ac (libffi_cv_as_x86_64_unwind_section_type): New test.
        * src/pa/ffi.c (ffi_closure_inner_pa32): Handle FFI_TYPE_LONGDOUBLE
        type on HP-UX.
 
+2012-02-13  Kai Tietz  <ktietz@redhat.com>
+
+       PR libffi/52221
+       * src/x86/ffi.c (ffi_prep_raw_closure_loc): Add thiscall
+       support for X86_WIN32.
+       (FFI_INIT_TRAMPOLINE_THISCALL): Fix displacement.
+
 2009-12-11  Eric Botcazou  <ebotcazou@adacore.com>
 
        * src/sparc/ffi.c (ffi_closure_sparc_inner_v9): Properly align 'long
        * man/Makefile.in: Regenerate.
        * testsuite/Makefile.in: Regenerate.
 
+2011-08-22  Jasper Lievisse Adriaanse <jasper@openbsd.org>
+
+       * configure.ac: Add OpenBSD/hppa and OpenBSD/powerpc support.
+       * configure: Rebuilt.
+
 2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
        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.