OSDN Git Service

Backport from upstream Libtool:
[pf3gnuchains/gcc-fork.git] / libffi / ChangeLog
index 5b91fe7..802b88c 100644 (file)
@@ -1,3 +1,711 @@
+2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * configure: Regenerate.
+
+2008-11-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * src/sparc/ffi.c (ffi_prep_cif_machdep): Add support for
+       signed/unsigned int8/16 return values.
+       * src/sparc/v8.S (ffi_call_v8): Likewise.
+       (ffi_closure_v8): Likewise.
+
+2008-09-26  Peter O'Gorman  <pogma@thewrittenword.com>
+            Steve Ellcey  <sje@cup.hp.com>
+
+       * configure: Regenerate for new libtool.
+       * Makefile.in: Ditto.
+       * include/Makefile.in: Ditto.
+       * aclocal.m4: Ditto.
+
+2008-08-25  Andreas Tobler  <a.tobler@schweiz.org>
+
+       * src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
+       FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
+       Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
+       Adjust copyright notice.
+       * src/powerpc/ffi.c: Add two new flags to indicate if we have one
+       register or two register to use for FFI_SYSV structs.
+       (ffi_prep_cif_machdep): Pass the right register flag introduced above.
+       (ffi_closure_helper_SYSV): Fix the return type for
+       FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
+       Adjust copyright notice.
+
+2008-07-16  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * src/sh/ffi.c (ffi_prep_closure_loc): Turn INSN into an unsigned
+       int.
+
+2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * configure: Regenerate.
+       * include/Makefile.in: Regenerate.
+       * testsuite/Makefile.in: Regenerate.
+
+2008-06-07  Joseph Myers  <joseph@codesourcery.com>
+
+       * configure.ac (parisc*-*-linux*, powerpc-*-sysv*,
+       powerpc-*-beos*): Remove.
+       * configure: Regenerate.
+
+2008-05-09  Julian Brown  <julian@codesourcery.com>
+
+       * Makefile.am (LTLDFLAGS): New.
+       (libffi_la_LDFLAGS): Use above.
+       * Makefile.in: Regenerate.
+
+2008-04-18  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR bootstrap/35457
+       * aclocal.m4: Regenerate.
+       * configure: Regenerate.
+
+2008-03-26  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * src/sh/sysv.S: Add .note.GNU-stack on Linux.
+       * src/sh64/sysv.S: Likewise.
+
+2008-03-26  Daniel Jacobowitz  <dan@debian.org>
+
+       * src/arm/sysv.S: Fix ARM comment marker.
+
+2008-03-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * src/alpha/osf.S: Add .note.GNU-stack on Linux.
+       * src/s390/sysv.S: Likewise.
+       * src/powerpc/ppc_closure.S: Likewise.
+       * src/powerpc/sysv.S: Likewise.
+       * src/x86/unix64.S: Likewise.
+       * src/x86/sysv.S: Likewise.
+       * src/sparc/v8.S: Likewise.
+       * src/sparc/v9.S: Likewise.
+       * src/m68k/sysv.S: Likewise.
+       * src/arm/sysv.S: Likewise.
+
+2008-03-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * aclocal.m4: Regenerate.
+       * configure: Likewise.
+       * Makefile.in: Likewise.
+       * include/Makefile.in: Likewise.
+       * testsuite/Makefile.in: Likewise.
+
+2008-02-12  Bjoern Koenig  <bkoenig@alpha-tierchen.de>
+           Andreas Tobler  <a.tobler@schweiz.org>
+
+       * configure.ac: Add amd64-*-freebsd* target.
+       * configure: Regenerate.
+
+2008-01-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR libffi/34612
+       * src/x86/sysv.S (ffi_closure_SYSV): Pop 4 byte from stack when
+       returning struct.
+
+       * testsuite/libffi.call/call.exp: Add "-O2 -fomit-frame-pointer"
+       tests.
+
+2008-01-24  David Edelsohn  <edelsohn@gnu.org>
+
+       * configure: Regenerate.
+
+2008-01-06  Andreas Tobler  <a.tobler@schweiz.org>
+
+       * src/x86/ffi.c (ffi_prep_cif_machdep): Fix thinko.
+
+2008-01-05  Andreas Tobler  <a.tobler@schweiz.org>
+
+       PR testsuite/32843
+       * src/x86/ffi.c (ffi_prep_cif_machdep): Add code for
+       signed/unsigned int8/16 for X86_DARWIN.
+       Updated copyright info.
+       Handle one and two byte structs with special cif->flags.
+       * src/x86/ffitarget.h: Add special types for one and two byte structs.
+       Updated copyright info.
+       * src/x86/darwin.S (ffi_call_SYSV): Rewrite to use a jump table like
+       sysv.S
+       Remove code to pop args from the stack after call.
+       Special-case signed/unsigned for int8/16, one and two byte structs.
+       (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
+       FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
+       FFI_TYPE_SINT32.
+       Updated copyright info.
+
+2007-12-08  David Daney  <ddaney@avtrex.com>
+
+       * src/mips/n32.S (ffi_call_N32):  Replace dadd with ADDU, dsub with 
+       SUBU, add with ADDU and use smaller code sequences.
+
+2007-12-07  David Daney  <ddaney@avtrex.com>
+
+       * src/mips/ffi.c (ffi_prep_cif_machdep): Handle long double return
+       type.
+
+2007-12-06  David Daney  <ddaney@avtrex.com>
+
+       * include/ffi.h.in (FFI_SIZEOF_JAVA_RAW): Define if not already
+       defined.
+       (ffi_java_raw): New typedef.
+       (ffi_java_raw_call, ffi_java_ptrarray_to_raw,
+       ffi_java_raw_to_ptrarray): Change parameter types from ffi_raw to
+       ffi_java_raw.
+       (ffi_java_raw_closure) : Same.
+       (ffi_prep_java_raw_closure, ffi_prep_java_raw_closure_loc): Change
+       parameter types.
+       * src/java_raw_api.c (ffi_java_raw_size):  Replace FFI_SIZEOF_ARG with
+       FFI_SIZEOF_JAVA_RAW.
+       (ffi_java_raw_to_ptrarray): Change type of raw to ffi_java_raw.
+       Replace FFI_SIZEOF_ARG with FFI_SIZEOF_JAVA_RAW. Use
+       sizeof(ffi_java_raw) for alignment calculations.
+       (ffi_java_ptrarray_to_raw): Same.
+       (ffi_java_rvalue_to_raw): Add special handling for FFI_TYPE_POINTER
+        if FFI_SIZEOF_JAVA_RAW == 4.
+       (ffi_java_raw_to_rvalue): Same.
+       (ffi_java_raw_call): Change type of raw to ffi_java_raw.
+       (ffi_java_translate_args): Same.
+       (ffi_prep_java_raw_closure_loc, ffi_prep_java_raw_closure): Change
+       parameter types.
+       * src/mips/ffitarget.h (FFI_SIZEOF_JAVA_RAW): Define for N32 ABI.
+
+2007-12-06  David Daney  <ddaney@avtrex.com>
+
+       * src/mips/n32.S (ffi_closure_N32): Use 64-bit add instruction on 
+       pointer values.
+
+2007-12-01  Andreas Tobler  <a.tobler@schweiz.org>
+
+       PR libffi/31937
+       * src/powerpc/ffitarget.h: Introduce new ABI FFI_LINUX_SOFT_FLOAT.
+       Add local FFI_TYPE_UINT128 to handle soft-float long-double-128.
+       * src/powerpc/ffi.c: Distinguish between __NO_FPRS__ and not and
+       set the NUM_FPR_ARG_REGISTERS according to.
+       Add support for potential soft-float support under hard-float
+       architecture.
+       (ffi_prep_args_SYSV): Set NUM_FPR_ARG_REGISTERS to 0 in case of
+       FFI_LINUX_SOFT_FLOAT, handle float, doubles and long-doubles according
+       to the FFI_LINUX_SOFT_FLOAT ABI.
+       (ffi_prep_cif_machdep): Likewise.
+       (ffi_closure_helper_SYSV): Likewise.
+       * src/powerpc/ppc_closure.S: Make sure not to store float/double
+       on archs where __NO_FPRS__ is true.
+       Add FFI_TYPE_UINT128 support.
+       * src/powerpc/sysv.S: Add support for soft-float long-double-128.
+       Adjust copyright notice.
+
+2007-11-25  Andreas Tobler  <a.tobler@schweiz.org>
+
+       * src/closures.c: Move defintion of MAYBE_UNUSED from here to ...
+       * include/ffi_common.h: ... here.
+       Update copyright.
+
+2007-11-17  Andreas Tobler  <a.tobler@schweiz.org>
+
+       * src/powerpc/sysv.S: Load correct cr to compare if we have long double.
+       * src/powerpc/linux64.S: Likewise.
+       * src/powerpc/ffi.c: Add a comment to show which part goes into cr6.
+       * testsuite/libffi.call/return_ldl.c: New test.
+
+2007-09-04    <aph@redhat.com>
+
+       * src/arm/sysv.S (UNWIND): New.
+       (Whole file): Conditionally compile unwinder directives.
+       * src/arm/sysv.S: Add unwinder directives.
+
+       * src/arm/ffi.c (ffi_prep_args): Align structs by at least 4 bytes.
+       Only treat r0 as a struct address if we're actually returning a
+       struct by address.
+       Only copy the bytes that are actually within a struct.
+       (ffi_prep_cif_machdep): A Composite Type not larger than 4 bytes
+       is returned in r0, not passed by address.
+       (ffi_call): Allocate a word-sized temporary for the case where
+       a composite is returned in r0.
+       (ffi_prep_incoming_args_SYSV): Align as necessary.
+
+2007-08-05  Steven Newbury  <s_j_newbury@yahoo.co.uk>
+
+       * src/arm/ffi.c (FFI_INIT_TRAMPOLINE): Use __clear_cache instead of 
+       directly using the sys_cacheflush syscall.
+
+2007-07-27  Andrew Haley  <aph@redhat.com>
+
+       * src/arm/sysv.S (ffi_closure_SYSV): Add soft-float.
+
+2007-09-03  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * Makefile.am: Unify MIPS_IRIX and MIPS_LINUX into MIPS.
+       * configure.ac: Likewise.
+       * Makefile.in: Regenerate.
+       * include/Makefile.in: Likewise.
+       * testsuite/Makefile.in: Likewise.
+       * configure: Likewise.
+
+2007-08-24  David Daney  <ddaney@avtrex.com>
+
+       * testsuite/libffi.call/return_sl.c: New test.
+
+2007-08-10  David Daney  <ddaney@avtrex.com>
+
+       * testsuite/libffi.call/cls_multi_ushort.c,
+       testsuite/libffi.call/cls_align_uint16.c,
+       testsuite/libffi.call/nested_struct1.c,
+       testsuite/libffi.call/nested_struct3.c,
+       testsuite/libffi.call/cls_7_1_byte.c,
+       testsuite/libffi.call/nested_struct5.c,
+       testsuite/libffi.call/cls_double.c,
+       testsuite/libffi.call/nested_struct7.c,
+       testsuite/libffi.call/cls_sint.c,
+       testsuite/libffi.call/nested_struct9.c,
+       testsuite/libffi.call/cls_20byte1.c,
+       testsuite/libffi.call/cls_multi_sshortchar.c,
+       testsuite/libffi.call/cls_align_sint64.c,
+       testsuite/libffi.call/cls_3byte2.c,
+       testsuite/libffi.call/cls_multi_schar.c,
+       testsuite/libffi.call/cls_multi_uchar.c,
+       testsuite/libffi.call/cls_19byte.c,
+       testsuite/libffi.call/cls_9byte1.c,
+       testsuite/libffi.call/cls_align_float.c,
+       testsuite/libffi.call/closure_fn1.c,
+       testsuite/libffi.call/problem1.c,
+       testsuite/libffi.call/closure_fn3.c,
+       testsuite/libffi.call/cls_sshort.c,
+       testsuite/libffi.call/closure_fn5.c,
+       testsuite/libffi.call/cls_align_double.c,
+       testsuite/libffi.call/nested_struct.c,
+       testsuite/libffi.call/cls_2byte.c,
+       testsuite/libffi.call/nested_struct10.c,
+       testsuite/libffi.call/cls_4byte.c,
+       testsuite/libffi.call/cls_6byte.c,
+       testsuite/libffi.call/cls_8byte.c,
+       testsuite/libffi.call/cls_multi_sshort.c,
+       testsuite/libffi.call/cls_align_sint16.c,
+       testsuite/libffi.call/cls_align_uint32.c,
+       testsuite/libffi.call/cls_20byte.c,
+       testsuite/libffi.call/cls_float.c,
+       testsuite/libffi.call/nested_struct2.c,
+       testsuite/libffi.call/cls_5_1_byte.c,
+       testsuite/libffi.call/nested_struct4.c,
+       testsuite/libffi.call/cls_24byte.c,
+       testsuite/libffi.call/nested_struct6.c,
+       testsuite/libffi.call/cls_64byte.c,
+       testsuite/libffi.call/nested_struct8.c,
+       testsuite/libffi.call/cls_uint.c,
+       testsuite/libffi.call/cls_multi_ushortchar.c,
+       testsuite/libffi.call/cls_schar.c,
+       testsuite/libffi.call/cls_uchar.c,
+       testsuite/libffi.call/cls_align_uint64.c,
+       testsuite/libffi.call/cls_ulonglong.c,
+       testsuite/libffi.call/cls_align_longdouble.c,
+       testsuite/libffi.call/cls_1_1byte.c,
+       testsuite/libffi.call/cls_12byte.c,
+       testsuite/libffi.call/cls_3_1byte.c,
+       testsuite/libffi.call/cls_3byte1.c,
+       testsuite/libffi.call/cls_4_1byte.c,
+       testsuite/libffi.call/cls_6_1_byte.c,
+       testsuite/libffi.call/cls_16byte.c,
+       testsuite/libffi.call/cls_18byte.c,
+       testsuite/libffi.call/closure_fn0.c,
+       testsuite/libffi.call/cls_9byte2.c,
+       testsuite/libffi.call/closure_fn2.c,
+       testsuite/libffi.call/closure_fn4.c,
+       testsuite/libffi.call/cls_ushort.c,
+       testsuite/libffi.call/closure_fn6.c,
+       testsuite/libffi.call/cls_5byte.c,
+       testsuite/libffi.call/cls_align_pointer.c,
+       testsuite/libffi.call/cls_7byte.c,
+       testsuite/libffi.call/cls_align_sint32.c,
+       testsuite/libffi.special/unwindtest_ffi_call.cc,
+       testsuite/libffi.special/unwindtest.cc: Remove xfail for mips64*-*-*.
+
+2007-08-10  David Daney  <ddaney@avtrex.com>
+
+       PR libffi/28313
+       * configure.ac: Don't treat mips64 as a special case.
+       * Makefile.am (nodist_libffi_la_SOURCES): Add n32.S.
+       * configure: Regenerate
+       * Makefile.in: Ditto.
+       * fficonfig.h.in: Ditto.
+       * src/mips/ffitarget.h (REG_L, REG_S, SUBU, ADDU, SRL, LI): Indent.
+       (LA, EH_FRAME_ALIGN, FDE_ADDR_BYTES): New preprocessor macros.
+       (FFI_DEFAULT_ABI): Set for n64 case.
+       (FFI_CLOSURES, FFI_TRAMPOLINE_SIZE): Define for n32 and n64 cases.
+       * src/mips/n32.S (ffi_call_N32): Add debug macros and labels for FDE.
+       (ffi_closure_N32): New function.
+       (.eh_frame): New section
+       * src/mips/o32.S: Clean up comments.
+       (ffi_closure_O32): Pass ffi_closure parameter in $12.
+       * src/mips/ffi.c: Use FFI_MIPS_N32 instead of
+       _MIPS_SIM == _ABIN32 throughout.
+       (FFI_MIPS_STOP_HERE): New, use in place of
+       ffi_stop_here.
+       (ffi_prep_args): Use unsigned long to hold pointer values.  Rewrite
+       to support n32/n64 ABIs.
+       (calc_n32_struct_flags): Rewrite.
+       (calc_n32_return_struct_flags): Remove unused variable.  Reverse
+       position of flag bits.
+       (ffi_prep_cif_machdep): Rewrite n32 portion.
+       (ffi_call): Enable for n64.  Add special handling for small structure
+       return values.
+       (ffi_prep_closure_loc): Add n32 and n64 support.
+       (ffi_closure_mips_inner_O32): Add cast to silence warning.
+       (copy_struct_N32, ffi_closure_mips_inner_N32): New functions.
+
+2007-08-08  David Daney  <ddaney@avtrex.com>
+
+       * testsuite/libffi.call/ffitest.h (ffi_type_mylong): Remove definition.
+       * testsuite/libffi.call/cls_align_uint16.c (main): Use correct type
+       specifiers.
+       * testsuite/libffi.call/nested_struct1.c (main): Ditto.
+       * testsuite/libffi.call/cls_sint.c (main): Ditto.
+       * testsuite/libffi.call/nested_struct9.c (main): Ditto.
+       * testsuite/libffi.call/cls_20byte1.c (main): Ditto.
+       * testsuite/libffi.call/cls_9byte1.c (main): Ditto.
+       * testsuite/libffi.call/closure_fn1.c (main): Ditto.
+       * testsuite/libffi.call/closure_fn3.c (main): Ditto.
+       * testsuite/libffi.call/return_dbl2.c (main): Ditto.
+       * testsuite/libffi.call/cls_sshort.c (main): Ditto.
+       * testsuite/libffi.call/return_fl3.c (main): Ditto.
+       * testsuite/libffi.call/closure_fn5.c (main): Ditto.
+       * testsuite/libffi.call/nested_struct.c (main): Ditto.
+       * testsuite/libffi.call/nested_struct10.c (main): Ditto.
+       * testsuite/libffi.call/return_ll1.c (main): Ditto.
+       * testsuite/libffi.call/cls_8byte.c (main): Ditto.
+       * testsuite/libffi.call/cls_align_uint32.c (main): Ditto.
+       * testsuite/libffi.call/cls_align_sint16.c (main): Ditto.
+       * testsuite/libffi.call/cls_20byte.c (main): Ditto.
+       * testsuite/libffi.call/nested_struct2.c (main): Ditto.
+       * testsuite/libffi.call/cls_24byte.c (main): Ditto.
+       * testsuite/libffi.call/nested_struct6.c (main): Ditto.
+       * testsuite/libffi.call/cls_uint.c (main): Ditto.
+       * testsuite/libffi.call/cls_12byte.c (main): Ditto.
+       * testsuite/libffi.call/cls_16byte.c (main): Ditto.
+       * testsuite/libffi.call/closure_fn0.c (main): Ditto.
+       * testsuite/libffi.call/cls_9byte2.c (main): Ditto.
+       * testsuite/libffi.call/closure_fn2.c (main): Ditto.
+       * testsuite/libffi.call/return_dbl1.c (main): Ditto.
+       * testsuite/libffi.call/closure_fn4.c (main): Ditto.
+       * testsuite/libffi.call/closure_fn6.c (main): Ditto.
+       * testsuite/libffi.call/cls_align_sint32.c (main): Ditto.
+
+2007-08-07  Andrew Haley  <aph@redhat.com>
+
+       * src/x86/sysv.S (ffi_closure_raw_SYSV): Fix typo in previous
+       checkin.
+
+2007-08-06  Andrew Haley  <aph@redhat.com>
+
+       PR testsuite/32843
+       * src/x86/sysv.S (ffi_closure_raw_SYSV): Handle FFI_TYPE_UINT8,
+       FFI_TYPE_SINT8, FFI_TYPE_UINT16, FFI_TYPE_SINT16, FFI_TYPE_UINT32,
+       FFI_TYPE_SINT32.
+
+2007-08-02  David Daney  <ddaney@avtrex.com>
+
+       * testsuite/libffi.call/return_ul.c (main): Define return type as
+       ffi_arg.  Use proper printf conversion specifier.
+       
+2007-07-30  Andrew Haley  <aph@redhat.com>
+
+       PR testsuite/32843
+       * src/x86/ffi.c (ffi_prep_cif_machdep): in x86 case, add code for
+       signed/unsigned int8/16.
+       * src/x86/sysv.S (ffi_call_SYSV): Rewrite to:
+       Use a jump table.
+       Remove code to pop args from the stack after call.
+       Special-case signed/unsigned int8/16.
+       * testsuite/libffi.call/return_sc.c (main): Revert.
+
+2007-07-26  Richard Guenther  <rguenther@suse.de>
+
+       PR testsuite/32843
+       * testsuite/libffi.call/return_sc.c (main): Verify call
+       result as signed char, not ffi_arg.
+
+2007-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * configure.ac (i?86-*-solaris2.1[0-9]): Set TARGET to X86_64.
+       * configure: Regenerate.
+
+2007-07-11  David Daney  <ddaney@avtrex.com>
+
+       * src/mips/ffi.c: Don't include sys/cachectl.h.
+       (ffi_prep_closure_loc): Use __builtin___clear_cache() instead of
+       cacheflush().
+
+2007-05-18  Aurelien Jarno  <aurelien@aurel32.net>
+
+       * src/arm/ffi.c (ffi_prep_closure_loc): Renamed and ajusted
+       from (ffi_prep_closure): ... this.
+       (FFI_INIT_TRAMPOLINE): Adjust.
+
+2005-12-31  Phil Blundell  <pb@reciva.com>
+
+       * src/arm/ffi.c (ffi_prep_incoming_args_SYSV, 
+        ffi_closure_SYSV_inner, ffi_prep_closure): New, add closure support.
+       * src/arm/sysv.S(ffi_closure_SYSV): Likewise.
+       * src/arm/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
+       (FFI_CLOSURES): Enable closure support.
+
+2007-07-03  Andrew Haley  <aph@hedges.billgatliff.com>
+
+        * testsuite/libffi.call/cls_multi_ushort.c,
+        testsuite/libffi.call/cls_align_uint16.c,
+        testsuite/libffi.call/nested_struct1.c,
+        testsuite/libffi.call/nested_struct3.c,
+        testsuite/libffi.call/cls_7_1_byte.c,
+        testsuite/libffi.call/cls_double.c,
+        testsuite/libffi.call/nested_struct5.c,
+        testsuite/libffi.call/nested_struct7.c,
+        testsuite/libffi.call/cls_sint.c,
+        testsuite/libffi.call/nested_struct9.c,
+        testsuite/libffi.call/cls_20byte1.c,
+        testsuite/libffi.call/cls_multi_sshortchar.c,
+        testsuite/libffi.call/cls_align_sint64.c,
+        testsuite/libffi.call/cls_3byte2.c,
+        testsuite/libffi.call/cls_multi_schar.c,
+        testsuite/libffi.call/cls_multi_uchar.c,
+        testsuite/libffi.call/cls_19byte.c,
+        testsuite/libffi.call/cls_9byte1.c,
+        testsuite/libffi.call/cls_align_float.c,
+        testsuite/libffi.call/closure_fn1.c,
+        testsuite/libffi.call/problem1.c,
+        testsuite/libffi.call/closure_fn3.c,
+        testsuite/libffi.call/cls_sshort.c,
+        testsuite/libffi.call/closure_fn5.c,
+        testsuite/libffi.call/cls_align_double.c,
+        testsuite/libffi.call/cls_2byte.c,
+        testsuite/libffi.call/nested_struct.c,
+        testsuite/libffi.call/nested_struct10.c,
+        testsuite/libffi.call/cls_4byte.c,
+        testsuite/libffi.call/cls_6byte.c,
+        testsuite/libffi.call/cls_8byte.c,
+        testsuite/libffi.call/cls_multi_sshort.c,
+        testsuite/libffi.call/cls_align_uint32.c,
+        testsuite/libffi.call/cls_align_sint16.c,
+        testsuite/libffi.call/cls_float.c,
+        testsuite/libffi.call/cls_20byte.c,
+        testsuite/libffi.call/cls_5_1_byte.c,
+        testsuite/libffi.call/nested_struct2.c,
+        testsuite/libffi.call/cls_24byte.c,
+        testsuite/libffi.call/nested_struct4.c,
+        testsuite/libffi.call/nested_struct6.c,
+        testsuite/libffi.call/cls_64byte.c,
+        testsuite/libffi.call/nested_struct8.c,
+        testsuite/libffi.call/cls_uint.c,
+        testsuite/libffi.call/cls_multi_ushortchar.c,
+        testsuite/libffi.call/cls_schar.c,
+        testsuite/libffi.call/cls_uchar.c,
+        testsuite/libffi.call/cls_align_uint64.c,
+        testsuite/libffi.call/cls_ulonglong.c,
+        testsuite/libffi.call/cls_align_longdouble.c,
+        testsuite/libffi.call/cls_1_1byte.c,
+        testsuite/libffi.call/cls_12byte.c,
+        testsuite/libffi.call/cls_3_1byte.c,
+        testsuite/libffi.call/cls_3byte1.c,
+        testsuite/libffi.call/cls_4_1byte.c,
+        testsuite/libffi.call/cls_6_1_byte.c,
+        testsuite/libffi.call/cls_16byte.c,
+        testsuite/libffi.call/cls_18byte.c,
+        testsuite/libffi.call/closure_fn0.c,
+        testsuite/libffi.call/cls_9byte2.c,
+        testsuite/libffi.call/closure_fn2.c,
+        testsuite/libffi.call/closure_fn4.c,
+        testsuite/libffi.call/cls_ushort.c,
+        testsuite/libffi.call/closure_fn6.c,
+        testsuite/libffi.call/cls_5byte.c,
+        testsuite/libffi.call/cls_align_pointer.c,
+        testsuite/libffi.call/cls_7byte.c,
+        testsuite/libffi.call/cls_align_sint32.c,
+        testsuite/libffi.special/unwindtest_ffi_call.cc,
+        testsuite/libffi.special/unwindtest.cc: Enable for ARM.
+
+2007-07-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * aclocal.m4: Regenerated.
+
+2007-06-02  Paolo Bonzini  <bonzini@gnu.org>
+
+       * configure: Regenerate.
+
+2007-05-23  Steve Ellcey  <sje@cup.hp.com>
+
+       * Makefile.in: Regenerate.
+       * configure: Regenerate.
+       * aclocal.m4: Regenerate.
+       * include/Makefile.in: Regenerate.
+       * testsuite/Makefile.in: Regenerate.
+
+2007-05-10  Roman Zippel <zippel@linux-m68k.org>
+
+       * src/m68k/ffi.c (ffi_prep_incoming_args_SYSV,
+       ffi_closure_SYSV_inner,ffi_prep_closure): New, add closure support.
+       * src/m68k/sysv.S(ffi_closure_SYSV,ffi_closure_struct_SYSV): Likewise.
+       * src/m68k/ffitarget.h (FFI_TRAMPOLINE_SIZE): Likewise.
+       (FFI_CLOSURES): Enable closure support.
+
+2007-05-10  Roman Zippel <zippel@linux-m68k.org>
+
+       * configure.ac (HAVE_AS_CFI_PSEUDO_OP): New test.
+       * configure: Regenerate.
+       * fficonfig.h.in: Regenerate.
+       * src/m68k/sysv.S (CFI_STARTPROC,CFI_ENDPROC,
+       CFI_OFFSET,CFI_DEF_CFA): New macros.
+       (ffi_call_SYSV): Add callframe annotation.
+
+2007-05-10  Roman Zippel <zippel@linux-m68k.org>
+
+       * src/m68k/ffi.c (ffi_prep_args,ffi_prep_cif_machdep): Fix
+       numerous test suite failures.
+       * src/m68k/sysv.S (ffi_call_SYSV): Likewise.
+
+2007-04-11  Paolo Bonzini  <bonzini@gnu.org>
+
+       * Makefile.am (EXTRA_DIST): Bring up to date.
+       * Makefile.in: Regenerate.
+       * src/frv/eabi.S: Remove RCS keyword.
+
+2007-04-06  Richard Henderson  <rth@redhat.com>
+
+       * configure.ac: Tidy target case.
+       (HAVE_LONG_DOUBLE): Allow the target to override.
+       * configure: Regenerate.
+       * include/ffi.h.in: Don't define ffi_type_foo if
+       LIBFFI_HIDE_BASIC_TYPES is defined.
+       (ffi_type_longdouble): If not HAVE_LONG_DOUBLE, define
+       to ffi_type_double.
+       * types.c (LIBFFI_HIDE_BASIC_TYPES): Define.
+       (FFI_TYPEDEF, ffi_type_void): Mark the data const.
+       (ffi_type_longdouble): Special case for Alpha.  Don't define
+       if long double == double.
+
+       * src/alpha/ffi.c (FFI_TYPE_LONGDOUBLE): Assert unique value.
+       (ffi_prep_cif_machdep): Handle it as the 128-bit type.
+       (ffi_call, ffi_closure_osf_inner): Likewise.
+       (ffi_closure_osf_inner): Likewise.  Mark hidden.
+       (ffi_call_osf, ffi_closure_osf): Mark hidden.
+       * src/alpha/ffitarget.h (FFI_LAST_ABI): Tidy definition.
+       * src/alpha/osf.S (ffi_call_osf, ffi_closure_osf): Mark hidden.
+       (load_table): Handle 128-bit long double.
+
+       * testsuite/libffi.call/float4.c: Add -mieee for alpha.
+
+2007-04-06  Tom Tromey  <tromey@redhat.com>
+
+       PR libffi/31491:
+       * README: Fixed bug in example.
+
+2007-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       * src/closures.c: Include sys/statfs.h.
+       (_GNU_SOURCE): Define on Linux.
+       (FFI_MMAP_EXEC_SELINUX): Define.
+       (selinux_enabled): New variable.
+       (selinux_enabled_check): New function.
+       (is_selinux_enabled): Define.
+       (dlmmap): Use it.
+
+2007-03-24  Uros Bizjak  <ubizjak@gmail.com>
+
+       * testsuite/libffi.call/return_fl2.c (return_fl): Mark as static.
+       Use 'volatile float sum' to create sum of floats to avoid false
+       negative due to excess precision on ix86 targets.
+       (main): Ditto. 
+
+2007-03-08  Alexandre Oliva  <aoliva@redhat.com>
+
+       * src/powerpc/ffi.c (flush_icache): Fix left-over from previous
+       patch.
+       (ffi_prep_closure_loc): Remove unneeded casts.  Add needed ones.
+
+2007-03-07  Alexandre Oliva  <aoliva@redhat.com>
+
+       * include/ffi.h.in (ffi_closure_alloc, ffi_closure_free): New.
+       (ffi_prep_closure_loc): New.
+       (ffi_prep_raw_closure_loc): New.
+       (ffi_prep_java_raw_closure_loc): New.
+       * src/closures.c: New file.
+       * src/dlmalloc.c [FFI_MMAP_EXEC_WRIT] (struct malloc_segment):
+       Replace sflags with exec_offset.
+       [FFI_MMAP_EXEC_WRIT] (mmap_exec_offset, add_segment_exec_offset,
+       sub_segment_exec_offset): New macros.
+       (get_segment_flags, set_segment_flags, check_segment_merge): New
+       macros.
+       (is_mmapped_segment, is_extern_segment): Use get_segment_flags.
+       (add_segment, sys_alloc, create_mspace, create_mspace_with_base,
+       destroy_mspace): Use new macros.
+       (sys_alloc): Silence warning.
+       * Makefile.am (libffi_la_SOURCES): Add src/closures.c.
+       * Makefile.in: Rebuilt.
+       * src/prep_cif [FFI_CLOSURES] (ffi_prep_closure): Implement in
+       terms of ffi_prep_closure_loc.
+       * src/raw_api.c (ffi_prep_raw_closure_loc): Renamed and adjusted
+       from...
+       (ffi_prep_raw_closure): ... this.  Re-implement in terms of the
+       renamed version.
+       * src/java_raw_api (ffi_prep_java_raw_closure_loc): Renamed and
+       adjusted from...
+       (ffi_prep_java_raw_closure): ... this.  Re-implement in terms of
+       the renamed version.
+       * src/alpha/ffi.c (ffi_prep_closure_loc): Renamed from
+       (ffi_prep_closure): ... this.
+       * src/pa/ffi.c: Likewise.
+       * src/cris/ffi.c: Likewise.  Adjust.
+       * src/frv/ffi.c: Likewise.
+       * src/ia64/ffi.c: Likewise.
+       * src/mips/ffi.c: Likewise.
+       * src/powerpc/ffi_darwin.c: Likewise.
+       * src/s390/ffi.c: Likewise.
+       * src/sh/ffi.c: Likewise.
+       * src/sh64/ffi.c: Likewise.
+       * src/sparc/ffi.c: Likewise.
+       * src/x86/ffi64.c: Likewise.
+       * src/x86/ffi.c: Likewise.
+       (FFI_INIT_TRAMPOLINE): Adjust.
+       (ffi_prep_raw_closure_loc): Renamed and adjusted from...
+       (ffi_prep_raw_closure): ... this.
+       * src/powerpc/ffi.c (ffi_prep_closure_loc): Renamed from
+       (ffi_prep_closure): ... this.
+       (flush_icache): Adjust.
+
+2007-03-07  Alexandre Oliva  <aoliva@redhat.com>
+
+       * src/dlmalloc.c: New file, imported version 2.8.3 of Doug
+       Lea's malloc.
+
+2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
+
+       * Makefile.am: Add dummy install-pdf target.
+       * Makefile.in: Regenerate
+
+2007-02-13  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * src/s390/ffi.c (ffi_prep_args, ffi_prep_cif_machdep,
+       ffi_closure_helper_SYSV): Add long double handling.
+
+2007-02-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * src/powerpc/linux64.S (ffi_call_LINUX64): Move restore of r2
+       immediately after bctrl instruction.
+
+2007-01-18  Alexandre Oliva  <aoliva@redhat.com>
+
+       * Makefile.am (all-recursive, install-recursive,
+       mostlyclean-recursive, clean-recursive, distclean-recursive,
+       maintainer-clean-recursive): Add missing targets.
+       * Makefile.in: Rebuilt.
+
+2006-12-14  Andreas Tobler  <a.tobler@schweiz.org>
+
+       * configure.ac: Add TARGET for x86_64-*-darwin*.
+       * Makefile.am (nodist_libffi_la_SOURCES): Add rules for 64-bit sources
+       for X86_DARWIN.
+       * src/x86/ffitarget.h: Set trampoline size for x86_64-*-darwin*.
+       * src/x86/darwin64.S: New file for x86_64-*-darwin* support.
+       * configure: Regenerate.
+       * Makefile.in: Regenerate.
+       * include/Makefile.in: Regenerate.
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/libffi.special/unwindtest_ffi_call.cc: New test case for
+       ffi_call only.
+
 2006-12-13  Andreas Tobler <a.tobler@schweiz.org>
 
        * aclocal.m4: Regenerate with aclocal -I .. as written in the