]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libffi/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libffi / ChangeLog
index 77a949d13e541961d5e0dc178d8e5491a86e7f32..7b864a0f09dc04b61ecbd3c340adc2a952624f08 100644 (file)
@@ -1,3 +1,593 @@
+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.