ffi.c (ffi_prep_closure_loc): Don't ASSERT ABI test, just return FFI_BAD_ABI when...
[gcc.git] / libffi / ChangeLog
index 9d06305c58a3d29a865192b7fb864c09512bd4f0..f66a84927e8276f0b557f93e8ffc29679e36b293 100644 (file)
@@ -1,3 +1,783 @@
+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-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-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
+       * src/ia64/ffi.c (ffi_call): Fix up aliasing violations.
+
+2012-01-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (i?86-*-*): Set TARGET to X86_64.
+       * configure: Regenerate.
+
+2011-12-07  Andrew Pinski  <apinski@cavium.com>
+
+       PR libffi/50051
+       * src/mips/n32.S: Add ".set mips4".
+
+2011-11-21  Andreas Tobler  <andreast@fgznet.ch>
+
+       * 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.
+       * configure, aclocal.m4: Rebuild.
+
+2011-09-04  Iain Sandoe  <iains@gcc.gnu.org>
+
+       PR libffi/49594
+       * src/powerpc/darwin_closure.S (stubs): Make the stub binding
+       helper reference track the architecture pointer size.
+
+2011-08-25  Andrew Haley  <aph@redhat.com>
+
+       * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Remove hard-coded assembly
+       instructions.
+       * src/arm/sysv.S (ffi_arm_trampoline): Put them here instead.
+
+2011-07-11  Andrew Haley  <aph@redhat.com>
+
+        * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Clear icache.
+
+2011-06-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * testsuite/libffi.call/cls_double_va.c: Move PR number to comment.
+       * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
+
+2011-06-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR libffi/46660
+       * testsuite/libffi.call/cls_double_va.c: xfail dg-output on
+       mips-sgi-irix6*.
+       * testsuite/libffi.call/cls_longdouble_va.c: Likewise.
+
+2011-06-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * testsuite/libffi.call/huge_struct.c (test_large_fn): Use PRIu8,
+       PRId8 instead of %hhu, %hhd.
+       * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRId8,
+       PRIu8): Define.
+       [__sgi__] (PRId8, PRIu8): Define.
+
+2011-04-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * src/alpha/osf.S (UA_SI, FDE_ENCODING, FDE_ENCODE, FDE_ARANGE):
+       Define.
+       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.
+
+2012-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
+       * testsuite/libffi.call/cls_pointer.c (main): Cast void * to
+       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.
+       Handle case when CPU variant does not have long double support.
+       * libffi/src/m68k/sysv.S: Add support for mc68000, Coldfire,
+       and cores with soft floating point.
+
+2011-02-07  Joel Sherrill <joel.sherrill@oarcorp.com>
+
+       * configure.ac: Add mips*-*-rtems* support.
+       * configure: Regenerate.
+       * src/mips/ffitarget.h: Ensure needed constants are available
+       for targets which do not have sgidefs.h.
+
+2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       PR target/40125
+       * configure.ac (AM_LTLDFLAGS): Add -bindir option for windows DLLs.
+       * configure: Regenerate.
+
+2010-12-18  Iain Sandoe  <iains@gcc.gnu.org>
+
+       PR libffi/29152
+       PR libffi/42378
+       * src/powerpc/darwin_closure.S: Provide Darwin64 implementation,
+       update comments.
+       * src/powerpc/ffitarget.h (POWERPC_DARWIN64): New,
+       (FFI_TRAMPOLINE_SIZE): Update for Darwin64.
+       * src/powerpc/darwin.S: Provide Darwin64 implementation,
+       update comments.
+       * src/powerpc/ffi_darwin.c: Likewise.
+
+2010-12-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (libffi_cv_as_ascii_pseudo_op): Use double
+       backslashes.
+       (libffi_cv_as_string_pseudo_op): Likewise.
+       * configure: Regenerate.
+
+2010-12-03  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * src/arm/sysv.S (ffi_closure_SYSV): Add UNWIND to .pad directive.
+       (ffi_closure_VFP): Same.
+       (ffi_call_VFP): Move down to before ffi_closure_VFP. Add '.fpu vfp'
+       directive.
+
+2010-12-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * testsuite/libffi.call/ffitest.h [__sgi] (PRId64, PRIu64): Define.
+       (PRIuPTR): Define.
+
+2010-11-29  Richard Henderson  <rth@redhat.com>
+           Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * src/x86/sysv.S (FDE_ENCODING, FDE_ENCODE): Define.
+       (.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/lib/libffi.exp: ... to this.
+       * libffi/testsuite/libffi.call/call.exp: Don't load libffi-dg.exp.
+       * libffi/testsuite/libffi.special/special.exp: Likewise.
+
+2010-10-28  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * src/arm/ffi.c (ffi_prep_args): Add VFP register argument handling
+       code, new parameter, and return value. Update comments.
+       (ffi_prep_cif_machdep): Add case for VFP struct return values. Add
+       call to layout_vfp_args().
+       (ffi_call_SYSV): Update declaration.
+       (ffi_call_VFP): New declaration.
+       (ffi_call): Add VFP struct return conditions. Call ffi_call_VFP()
+       when ABI is FFI_VFP.
+       (ffi_closure_VFP): New declaration.
+       (ffi_closure_SYSV_inner): Add new vfp_args parameter, update call to
+       ffi_prep_incoming_args_SYSV().
+       (ffi_prep_incoming_args_SYSV): Update parameters. Add VFP argument
+       case handling.
+       (ffi_prep_closure_loc): Pass ffi_closure_VFP to trampoline
+       construction under VFP hard-float.
+       (rec_vfp_type_p): New function.
+       (vfp_type_p): Same.
+       (place_vfp_arg): Same.
+       (layout_vfp_args): Same.
+       * src/arm/ffitarget.h (ffi_abi): Add FFI_VFP. Define FFI_DEFAULT_ABI
+       based on __ARM_PCS_VFP.
+       (FFI_EXTRA_CIF_FIELDS): Define for adding VFP hard-float specific
+       fields.
+       (FFI_TYPE_STRUCT_VFP_FLOAT): Define internally used type code.
+       (FFI_TYPE_STRUCT_VFP_DOUBLE): Same.
+       * src/arm/sysv.S (ffi_call_SYSV): Change call of ffi_prep_args() to
+       direct call. Move function pointer load upwards.
+       (ffi_call_VFP): New function.
+       (ffi_closure_VFP): Same.
+
+       * testsuite/lib/libffi-dg.exp (check-flags): New function.
+       (dg-skip-if): New function.
+       * testsuite/libffi.call/cls_double_va.c: Skip if target is arm*-*-*
+       and compiler options include -mfloat-abi=hard.
+       * testsuite/libffi.call/cls_longdouble_va.c: Same.
+
+2010-10-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR libffi/45677
+       * src/x86/ffi64.c (ffi_prep_cif_machdep): Ensure cif->bytes is
+       a multiple of 8.
+       * testsuite/libffi.call/many2.c: New test.
+
+2010-08-20  Mark Wielaard  <mjw@redhat.com>
+
+       * src/closures.c (open_temp_exec_file_mnt): Check if getmntent_r
+       returns NULL.
+
+2010-08-09  Andreas Tobler  <andreast@fgznet.ch>
+
+       * configure.ac: Add target powerpc64-*-freebsd*.
+       * configure: Regenerate.
+       * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
+       -mlong-double-128 only to linux targets.
+       * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
+       * 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.
+
+2010-07-07  Dan HorĂ¡k <dan@danny.cz>
+
+       * include/ffi.h.in: Protect #define with #ifndef.
+       * src/powerpc/ffitarget.h: Ditto.
+       * src/s390/ffitarget.h: Ditto.
+       * src/sparc/ffitarget.h: Ditto.
+
+2010-07-07   Neil Roberts <neil@linux.intel.com>
+
+       * src/x86/sysv.S (ffi_call_SYSV): Align the stack pointer to
+       16-bytes.
+
+2010-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * Makefile.am (AM_MAKEFLAGS): Pass also mandir to submakes.
+       * Makefile.in: Regenerated.
+
+2010-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (libffi_cv_as_x86_pcrel): Check for illegal in as
+       output, too.
+       (libffi_cv_as_ascii_pseudo_op): Check for .ascii.
+       (libffi_cv_as_string_pseudo_op): Check for .string.
+       * configure: Regenerate.
+       * 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.
+       * src/ia64/ffi.c (ffi_prep_cif_machdep): Ditto.
+       * configure.ac: Ditto.
+       * configure: Rebuilt.
+
+2010-04-13  Dan Witte  <dwitte@mozilla.com>
+
+       * msvcc.sh: Build with -W3 instead of -Wall.
+       * src/powerpc/ffi_darwin.c: Remove build warnings.
+       * src/x86/ffi.c: Ditto.
+       * src/x86/ffitarget.h: Ditto.
+
+2010-04-12  Dan Witte  <dwitte@mozilla.com>
+           Walter Meinl <wuno@lsvw.de>
+
+       * configure.ac: Add OS/2 support.
+       * configure: Rebuilt.
+       * src/closures.c: Ditto.
+       * src/dlmalloc.c: Ditto.
+       * src/x86/win32.S: Ditto.
+
+2010-04-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * testsuite/libffi.call/err_bad_abi.c: Remove unused args variable.
+
+2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * Makefile.in: Regenerate.
+       * aclocal.m4: Regenerate.
+       * include/Makefile.in: Regenerate.
+       * 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.
+       * configure: Regenerate.
+       * fficonfig.h.in: Regenerate.
+       * libffi/src/x86/unix64.S (.eh_frame)
+       [HAVE_AS_X86_64_UNWIND_SECTION_TYPE]: Use @unwind section type.
+
+2010-03-14  Matthias Klose  <doko@ubuntu.com>
+
+       * src/x86/ffi64.c: Fix typo in comment.
+       * src/x86/ffi.c: Use /* ... */ comment style.
+
+2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/libffi.texi (The Closure API): Fix typo.
+       * doc/libffi.info: Remove.
+
+2010-02-15  Matthias Klose  <doko@ubuntu.com>
+
+       * src/arm/sysv.S (__ARM_ARCH__): Define for processor
+       __ARM_ARCH_7EM__.
+
+2010-01-15  Anthony Green  <green@redhat.com>
+
+       * README: Add notes on building with Microsoft Visual C++.
+
+2010-01-15  Daniel Witte  <dwitte@mozilla.com>
+
+       * msvcc.sh: New file.
+
+       * src/x86/win32.S: Port assembly routines to MSVC and #ifdef.
+       * src/x86/ffi.c: Tweak function declaration and remove excess
+       parens.
+       * include/ffi.h.in: Add __declspec(align(8)) to typedef struct
+       ffi_closure.
+
+       * src/x86/ffi.c: Merge ffi_call_SYSV and ffi_call_STDCALL into new
+       function ffi_call_win32 on X86_WIN32.
+       * src/x86/win32.S (ffi_call_SYSV): Rename to ffi_call_win32.
+       (ffi_call_STDCALL): Remove.
+
+       * src/prep_cif.c (ffi_prep_cif): Move stack space allocation code
+       to ffi_prep_cif_machdep for x86.
+       * src/x86/ffi.c (ffi_prep_cif_machdep): To here.
+
+2010-01-15  Oliver Kiddle  <okiddle@yahoo.co.uk>
+
+       * src/x86/ffitarget.h (ffi_abi): Check for __i386 and __amd64 for
+       Sun Studio compiler compatibility.
+
+2010-01-12  Conrad Irwin <conrad.irwin@gmail.com>
+
+       * doc/libffi.texi: Add closure example.
+
+2010-01-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR libffi/40701
+       * testsuite/libffi.call/ffitest.h [__alpha__ && __osf__] (PRIdLL,
+       PRIuLL, PRId64, PRIu64, PRIuPTR): Define.
+       * testsuite/libffi.call/cls_align_sint64.c: Add -Wno-format on
+       alpha*-dec-osf*.
+       * testsuite/libffi.call/cls_align_uint64.c: Likewise.
+       * testsuite/libffi.call/cls_ulonglong.c: Likewise.
+       * testsuite/libffi.call/return_ll1.c: Likewise.
+       * testsuite/libffi.call/stret_medium2.c: Likewise.
+       * testsuite/libffi.special/ffitestcxx.h (allocate_mmap): Cast
+       MAP_FAILED to char *.
+
+2010-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * src/mips/n32.S: Use .abicalls and .eh_frame with __GNUC__.
+
+2009-12-31  Anthony Green  <green@redhat.com>
+
+       * README: Update for libffi 3.0.9.
+
+2009-12-27  Matthias Klose  <doko@ubuntu.com>
+
+       * configure.ac (HAVE_LONG_DOUBLE): Define for mips when
+       appropriate.
+       * configure: Rebuilt.
+
+2009-12-26  Anthony Green  <green@redhat.com>
+
+       * testsuite/libffi.call/cls_longdouble_va.c: Mark as xfail for
+       avr32*-*-*.
+       * testsuite/libffi.call/cls_double_va.c: Ditto.
+
+2009-12-26  Andreas Tobler  <a.tobler@schweiz.org>
+
+       * testsuite/libffi.call/ffitest.h: Conditionally include stdint.h
+       and inttypes.h.
+       * testsuite/libffi.special/unwindtest.cc: Ditto.
+
+2009-12-26  Andreas Tobler  <a.tobler@schweiz.org>
+
+       * configure.ac: Add amd64-*-openbsd*.
+       * configure: Rebuilt.
+       * testsuite/lib/libffi-dg.exp (libffi_target_compile): Link
+       openbsd programs with -lpthread.
+
+2009-12-26  Anthony Green  <green@redhat.com>
+
+       * testsuite/libffi.call/cls_double_va.c,
+       testsuite/libffi.call/cls_longdouble.c,
+       testsuite/libffi.call/cls_longdouble_va.c,
+       testsuite/libffi.call/cls_pointer.c,
+       testsuite/libffi.call/cls_pointer_stack.c: Remove xfail for
+       mips*-*-* and arm*-*-*.
+       * testsuite/libffi.call/cls_align_longdouble_split.c,
+       testsuite/libffi.call/cls_align_longdouble_split2.c,
+       testsuite/libffi.call/stret_medium2.c,
+       testsuite/libffi.call/stret_medium.c,
+       testsuite/libffi.call/stret_large.c,
+       testsuite/libffi.call/stret_large2.c: Remove xfail for arm*-*-*.
+
+2009-12-31  Kay Tietz  <ktietz70@googlemail.com>
+
+       * testsuite/libffi.call/ffitest.h,
+       testsuite/libffi.special/ffitestcxx.h (PRIdLL, PRuLL): Fix
+       definitions.
+
+2009-12-31  Carlo Bramini  <carlo.bramix@libero.it>
+
+       * configure.ac (AM_LTLDFLAGS): Define for windows hosts.
+       * Makefile.am (libffi_la_LDFLAGS): Add AM_LTLDFLAGS.
+       * configure: Rebuilt.
+       * Makefile.in: Rebuilt.
+
+2009-12-31  Anthony Green  <green@redhat.com>
+           Blake Chaffin.
+
+       * testsuite/libffi.call/huge_struct.c: New test case from Blake
+       Chaffin @ Apple.
+
+2009-12-28  David Edelsohn  <edelsohn@gnu.org>
+
+       * src/powerpc/ffi_darwin.c (ffi_prep_args): Copy abi and nargs to
+       local variables.
+       (aix_adjust_aggregate_sizes): New function.
+       (ffi_prep_cif_machdep): Call it.
+
 2009-12-26  Andreas Tobler  <a.tobler@schweiz.org>
 
        * configure.ac: Define FFI_MMAP_EXEC_WRIT for the given targets.
        * 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.