+2022-10-12 Martin Liska <mliska@suse.cz>
+
+ * configure: Regenerate.
+
+2022-10-11 Olivier Hainque <hainque@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * configure: Regenerate.
+
+2021-11-15 H.J. Lu <hjl.tools@gmail.com>
+
+ * LOCAL_PATCHES: Add commit a91f844ef44.
+
+2021-11-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libffi/102874
+ * src/x86/win64.S (epilogue): Use #define instead of .macro.
+
+2021-11-04 H.J. Lu <hjl.tools@gmail.com>
+
+ * Makefile.am (AM_CFLAGS): Add $(CET_FLAGS).
+ (AM_CCASFLAGS): Likewise.
+ * configure.ac (CET_FLAGS): Add GCC_CET_FLAGS and AC_SUBST.
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Likewise.
+ * configure: Likewise.
+ * include/Makefile.in: Likewise.
+ * man/Makefile.in: Likewise.
+ * testsuite/Makefile.in: Likewise.
+
+2021-10-27 H.J. Lu <hjl.tools@gmail.com>
+
+ * LOCAL_PATCHES: Add commit 90454a90082.
+
+2021-10-25 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * src/powerpc/linux64.S: Enable AltiVec insns.
+ * src/powerpc/linux64_closure.S: Ditto.
+
+2021-10-20 H.J. Lu <hjl.tools@gmail.com>
+
+ * LOCAL_PATCHES: New file.
+
+2021-10-20 H.J. Lu <hjl.tools@gmail.com>
+
+ * testsuite/lib/libffi.exp (load_gcc_lib): Load library from GCC
+ testsuite.
+ Load target-supports.exp and target-supports-dg.exp.
+ (libffi-init): Use libraries in GCC build tree.
+ (libffi_target_compile): Link with -shared-libgcc -lstdc++ for
+ C++ sources.
+
+2021-10-20 H.J. Lu <hjl.tools@gmail.com>
+
+ * Makefile.am (AUTOMAKE_OPTIONS): Add info-in-builddir.
+ (ACLOCAL_AMFLAGS): Set to -I .. -I ../config.
+ (SUBDIRS): Don't add doc.
+ (TEXINFO_TEX): New.
+ (MAKEINFOFLAGS): Likewise.
+ (info_TEXINFOS): Likewise.
+ (STAMP_GENINSRC): Likewise.
+ (STAMP_BUILD_INFO): Likewise.
+ (all-local): Likewise.
+ (stamp-geninsrc): Likewise.
+ (doc/libffi.info): Likewise.
+ (stamp-build-info:): Likewise.
+ (CLEANFILES): Likewise.
+ (MAINTAINERCLEANFILES): Likewise.
+ (AM_MAKEFLAGS): Likewise.
+ (all-recursive): Likewise.
+ (install-recursive): Likewise.
+ (mostlyclean-recursive): Likewise.
+ (clean-recursive): Likewise.
+ (distclean-recursive): Likewise.
+ (maintainer-clean-recursive): Likewise.
+ (LTLDFLAGS): Replace libtool-ldflags with ../libtool-ldflags.
+ (AM_CFLAGS): Add -g -fexceptions.
+ (libffi.map-sun): Replace make_sunver.pl with
+ ../contrib/make_sunver.pl.
+ (dist-hook): Removed.
+ Include $(top_srcdir)/../multilib.am.
+ * configure.ac: Add AM_ENABLE_MULTILIB.
+ Remove the frv*-elf check.
+ (AX_ENABLE_BUILDDIR): Removed.
+ (AM_INIT_AUTOMAKE): Add [no-dist].
+ Add --enable-generated-files-in-srcdir.
+ (C_CONFIG_MACRO_DIR): Removed.
+ (AX_COMPILER_VENDOR): Likewise.
+ (AX_CC_MAXOPT): Likewise.
+ (AX_CFLAGS_WARN_ALL): Likewise.
+ Remove the GCC check.
+ (SYMBOL_UNDERSCORE): Removed.
+ (AX_CHECK_COMPILE_FLAG): Likewise.
+ Remove --disable-docs.
+ (ACX_CHECK_PROG_VER): Check makeinfo.
+ (BUILD_DOCS): Updated.
+ (exec-static-tramp): Don't enable use of static exec trampolines
+ by default.
+ Remove --disable-multi-os-directory.
+ (GCC_WITH_TOOLEXECLIBDIR): New.
+ Support cross host.
+ Support --enable-multilib.
+ * include/Makefile.am (nodist_include_HEADERS): Removed.
+ (gcc_version): New.
+ (toollibffidir): Likewise.
+ (toollibffi_HEADERS): Likewise.
+ * Makefile.in: Regenerate.
+ (GCC_BASE_VER): New.
+ (AC_CONFIG_FILES): Remove doc/Makefile.
+ (AC_CONFIG_LINKS): New.
+ * aclocal.m4: Likewise.
+ * configure: Likewise.
+ * fficonfig.h.in: Likewise.
+ * mdate-sh: Likewise.
+ * include/Makefile.in: Likewise.
+ * man/Makefile.in: Likewise.
+ * testsuite/Makefile.in: Likewise.
+
+2021-10-20 H.J. Lu <hjl.tools@gmail.com>
+
+ * HOWTO_MERGE: New file.
+ * autogen.sh: Likewise.
+ * merge.sh: Likewise.
+
+2021-08-30 YunQiang Su <yunqiang.su@cipunited.com>
+
+ PR libffi/83636
+ * src/mips/n32.S: disable .set mips4
+ * src/mips/ffi.c: use different JR encoding for r6.
+
+2021-07-09 H.J. Lu <hjl.tools@gmail.com>
+
+ PR libffi/101336
+ * configure.host: Always check __x86_64__ for x86 hosts.
+
+2021-06-16 Jakub Jelinek <jakub@redhat.com>
+
+ * src/x86/ffi64.c (classify_argument): For FFI_TYPE_STRUCT set words
+ to number of words needed for type->size + byte_offset bytes rather
+ than just type->size bytes. Compute pos before the loop and check
+ total size of the structure.
+ * testsuite/libffi.call/nested_struct12.c: New test.
+
+2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * configure: Re-generate.
+
+2020-12-05 Iain Sandoe <iain@sandoe.co.uk>
+
+ PR target/97865
+ * configure: Regenerate.
+
+2020-11-29 John David Anglin <danglin@gcc.gnu.org>
+
+ * configure: Regenerate.
+
+2020-09-24 Alan Modra <amodra@gmail.com>
+
+ * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Correct
+ location of .Lret.
+
+2020-09-24 Alan Modra <amodra@gmail.com>
+
+ * src/powerpc/linux64.S (ffi_call_LINUX64): Don't emit global
+ entry when __PCREL__. Call using @notoc. Add nops.
+ * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Likewise.
+ (ffi_go_closure_linux64): Likewise.
+
+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
* configure: Rebuild.
2012-10-30 James Greenhalgh <james.greenhalgh at arm.com>
- Marcus Shawcroft <marcus.shawcroft 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.
+ 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.
+ * 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.